10个很棒的jQuery代码片段

开发 前端
本文推荐10个应该收藏的很棒的jQuery代码片段。

图片预加载

(function($) {  
  var cache = [];  
  // Arguments are image paths relative to the current page.  
  $.preLoadImages = function() {  
    var args_len = arguments.length;  
    for (var i = args_len; i--;) {  
      var cacheImage = document.createElement('img');  
      cacheImage.src = arguments[i];  
      cache.push(cacheImage);  
    }  
  }  
 
jQuery.preLoadImages("image1.gif""/path/to/image2.png"); 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

在新窗口打开链接 (target=”blank”)

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

当支持 JavaScript 时为 body 增加 class

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

平滑滚动页面到某个锚点

$(document).ready(function() {  
    $("a.topLink").click(function() {  
        $("html, body").animate({  
            scrollTop: $($(this).attr("href")).offset().top + "px" 
        }, {  
            duration: 500,  
            easing: "swing" 
        });  
        return false;  
    });  
}); 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

鼠标滑动时的渐入和渐出

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

制作等高的列

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

在一些老的浏览器上启用 HTML5 的支持

(function(){  
    if(!/*@cc_on!@*/0)  
        return;  
    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])}  
})()  
 
//然后在head中引入该js  
<!--[if lt IE 9]>  
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>  
<![endif]--> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

测试浏览器是否支持某些 CSS3 属性

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

获取 URL 中传递的参数

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

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

禁用表单的回车键提交

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

原文:http://www.oschina.net/code/snippet_12_7271

【编辑推荐】

  1. 15个值得开发者关注的jQuery开发技巧和心得
  2. 使用jQuery设计数据表格之设计表格基类
  3. jQuery代码优化之遍历
  4. JNotify:一个消息通知jQuery插件
  5. 10月10款有趣强大的jQuery插件推荐
责任编辑:陈贻新 来源: 开源中国社区
相关推荐

2015-11-02 09:25:07

jQuery代码片段

2011-07-07 10:35:53

htaccess

2015-10-08 08:53:46

PHP代码片段

2020-11-16 16:04:42

CSS设计代码

2021-09-17 15:31:47

代码JavaScript数组

2012-05-10 10:36:53

jQuery

2020-08-12 14:54:00

Python代码开发

2020-12-31 07:56:02

JavaScript 字符串技巧

2014-09-04 09:48:32

jQuery响应式

2011-09-06 15:16:42

PHP

2023-10-12 15:02:21

PythonPandas数据分析

2020-07-25 19:38:54

JavaScriptJavaScript库Web

2023-10-10 16:16:05

JavaScrip开发

2023-10-09 14:48:06

2023-05-22 15:53:06

JavaScrip代码素材

2011-07-11 10:16:07

JavaScript

2015-08-19 09:15:11

C#程序员实用代码

2015-10-29 10:30:41

C#程序员实用代码

2024-06-21 11:02:16

2011-07-14 10:07:19

PHP
点赞
收藏

51CTO技术栈公众号