开发者

How to strip down a jquery to fit your needs?

I have this script running, and I'm wondering if I need all of http://code.jquery.com/jquery-latest.min.js

It's 70 kb, and I would love to be able to strip it down.

$('a.inframe').click(function() {
  var e=$(this);

  if (!e.data('state')) { //if开发者_JAVA百科 state is undefined

   e.data('state','open'); //set the state to 'open'

   // Extract the frame height from the rel attribute
   var frameHeight=e.attr('rel');
   var pat1 = new RegExp('height:');
   pat1.test(frameHeight);
   frameHeight=RegExp.rightContext;
   var pat2 = new RegExp('px');
   pat2.test(frameHeight);
   frameHeight = RegExp.leftContext;
   if ( !frameHeight || (Math.ceil(frameHeight)!=Math.floor(frameHeight)) ) {
    //if it's null or not an integer
    frameHeight = '550'; //default frame height, in case none is specified
   };
   frameHeight += 'px';

   frameWidth = '100%';

   // Insert the iframe just after the link
   e.after('<iframe style="width:'+frameWidth+'; height:'+frameHeight+'; border:solid 0px #ccc; margin-bottom:1em; background:#fff;" src=' + e.attr('href') + ' frameborder="0" ></iframe>');
   var iframe=e.next('iframe');

   // Insert the "loading..." text
   iframe.before(' <small class="quiet"> hold on a sec...</small>')
   iframe.load(function(){ //once content was loaded
    iframe.slideDown(500); //slide it down
    iframe.prev('small').remove(); //remove the 'loading...'
   });
   e.attr('title','Hide'); //set the link title to 'Hide'
  }
  else if(e.data('state')=='closed') { //if state is 'closed'
   e.data('state', 'open');
   e.next('iframe').slideDown(500);
   e.attr('title','Hide');
  }
  else if(e.data('state')=='open') { //if state is 'open'
   e.data('state', 'closed');
   e.next('iframe').slideUp(500);
   e.attr('title','Show');
  }
  return false;
 });
});
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜