很棒的 jQuery 代码片段

图片预加载

01 (function($) {
02   var cache = [];
03   // Arguments are image paths relative to the current page.
04   $.preLoadImages = function() {
05     var args_len = arguments.length;
06     for (var i = args_len; i--;) {
07       var cacheImage = document.createElement('img');
08       cacheImage.src = arguments[i];
09       cache.push(cacheImage);
10     }
11   }
12  
13 jQuery.preLoadImages("image1.gif", "/path/to/image2.png");

[代码] 在新窗口打开链接 (target=”blank”)

1 $('a[@rel$='external']').click(function(){
2      this.target = "_blank";
3 });
4  
5 /*
6    Usage:
7    <a href="http://www.catswhocode.com" rel="external">catswhocode.com</a>
8 */

[代码] 当支持 JavaScript 时为 body 增加 class

1 /* 该代码只有1行,但是最简单的用来检测浏览器是否支持 JavaScript 的方法,如果支持 JavaScript 就在 body 元素增加一个 hasJS 的 class */
2 $('body').addClass('hasJS');

[代码] 平滑滚动页面到某个锚点

01 $(document).ready(function() {
02     $("a.topLink").click(function() {
03         $("html, body").animate({
04             scrollTop: $($(this).attr("href")).offset().top + "px"
05         }, {
06             duration: 500,
07             easing: "swing"
08         });
09         return false;
10     });
11 });

[代码] 鼠标滑动时的渐入和渐出

1 $(document).ready(function(){
2     $(".thumbs img").fadeTo("slow", 0.6); // This sets the opacity of the thumbs to fade down to 60% when the page loads
3  
4     $(".thumbs img").hover(function(){
5         $(this).fadeTo("slow", 1.0); // This should set the opacity to 100% on hover
6     },function(){
7         $(this).fadeTo("slow", 0.6); // This should set the opacity back to 60% on mouseout
8     });
9 });

[代码] 制作等高的列

1 var max_height = 0;
2 $("div.col").each(function(){
3     if ($(this).height() > max_height) { max_height = $(this).height(); }
4 });
5 $("div.col").height(max_height);

[代码] 在一些老的浏览器上启用 HTML5 的支持

01 (function(){
02     if(!/*@cc_on!@*/0)
03         return;
04     var e ="abbr,article,aside,audio,bb,canvas,datagrid,datalist,details,dialog,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video".split(','),i=e.length;while(i--){document.createElement(e[i])}
05 })()
06  
07 //然后在head中引入该js
08 <!--[if lt IE 9]>
10 <![endif]-->

[代码] 测试浏览器是否支持某些 CSS3 属性

01 var supports = (function() {
02    var div = document.createElement('div'),
03       vendors = 'Khtml Ms O Moz Webkit'.split(' '),
04       len = vendors.length;
05  
06    return function(prop) {
07       if ( prop in div.style ) return true;
08  
09       prop = prop.replace(/^[a-z]/, function(val) {
10          return val.toUpperCase();
11       });
12  
13       while(len--) {
14          if ( vendors[len] + prop in div.style ) {
15             // browser supports box-shadow. Do what you need.
16             // Or use a bang (!) to test if the browser doesn't.
17             return true;
18          }
19       }
20       return false;
21    };
22 })();
23  
24 if ( supports('textShadow') ) {
25    document.documentElement.className += ' textShadow';

[代码] 获取 URL 中传递的参数

1 $.urlParam = function(name){
2     var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
3     if (!results) { return 0; }
4     return results[1] || 0;
5 }

[代码] 禁用表单的回车键提交

1 $("#form").keypress(function(e) {
2   if (e.which == 13) {
3     return false;
4   }
5 });

 

 

 

、把所有带有#的空链接换成不友情的链接

  1. $('a[href="#"]').each(function() {   
  2.     $(this).attr('href''javascript:void(0)')   
  3. });  
 
2、jQuery全选与取消全选插件
  1. (function($){   
  2.     $.fn.checkall = function(options){   
  3.         var defaults = {chname:"checkname[]", callback:null},   
  4.             options = $.extend(defaults, options),   
  5.             $obj = $(this),   
  6.             $items = $("input[name='"+options.chname+"']"),   
  7.             checkedItem = 0;   
  8.         $items.click(function(){   
  9.             if($items.filter(":checked").length === $items.length){   
  10.                 $obj.attr("checked",true);   
  11.             }else{   
  12.                 $obj.removeAttr("checked");   
  13.             }   
  14.             checkedItem = $items.filter(":checked").length;   
  15.             if(typeof options.callback === "function") options.callback(checkedItem);   
  16.         });   
  17.         return $obj.each(function(){   
  18.             $(this).click(function(){   
  19.                 if($(this).attr("checked")){   
  20.                     $items.attr("checked",true);   
  21.                 }else{   
  22.                     $items.removeAttr("checked");   
  23.                 }   
  24.                 checkedItem = $items.filter(":checked").length;   
  25.                 if(typeof options.callback === "function") options.callback(checkedItem);   
  26.             });   
  27.         });   
  28.     }   
  29. })(jQuery);  
 
3、滚动条自动滚到顶部方法
  1. $("html,body").animate({scrollTop: 0}, "slow");  
 
4、滚动条自动滚到底部方法
  1. var s = $("body").height()-$(window).height();   
  2. $("html,body").animate({scrollTop: s}, "slow");  
 
5、jQuery自动根据图片高度宽度缩
  1. jQuery.fn.ImageAutoSize = function(width,height){   
  2.     $(“img”,this).each(function(){   
  3.     var image = $(this);   
  4.         if(image.width()>width){   
  5.             image.width(width);   
  6.             image.height(width/image.width()*image.height());   
  7.         }   
  8.         if(image.height()>height){   
  9.             image.height(height);   
  10.             image.width(height/image.height()*image.width());   
  11.         }   
  12.     });   
  13. }  
调用:先引用上面的脚本或将上页的脚本放入自己的JS库,然后只要再加 $(function(){ $(“图片组所在的容器”).ImageAutoSize(限制最大宽,限制最大高);});
 
6、JQuery IFrame框架高度自适应(支持嵌套–兼容IE,ff,safafi,chrome)
  1. $("#IframeID").load(function() {    
  2.     $(this).height($(this).contents().height());   
  3. })  

你可能感兴趣的:(jquery)