12 个非常实用的 jQuery 代码片段

来源:互联网 发布:淘宝宝贝图片模板.psd 编辑:程序博客网 时间:2024/06/06 00:56

1.导航菜单背景切换效果

<ul id="nav">    <li>导航1</li>    <li>导航1</li>    <li>导航1</li>    <li>导航1</li></ul>

$('#nav').click(function(e){    $(e.target).addClass('tclass').siblings('tclass').removeClass('tclass');;});
2.反序列访问jQuery对象里的元素

在某些场景下,我们可能需要反序访问通过JQuery选择器获取到的页面元素对象。

var items = $('#nav').find('li').get().reverse();$.each(items, function(index, el){    //do something...});
3.访问iFrame里的元素

在大多数情况下,IFrame并不是好的解决方案,但由于各种原因,项目中确实用到了IFrame,所以你需要知道怎么去访问IFrame里的元素。

var iFrameDom = $('iframe#id').contents();iFrameDom.find('.message').slideUp();
4.管理搜索框的值

$('#searchbox')    .focus(function(){$(this).val('');})    .blur(function(){        var $this = $(this);        ($this.val() ==='') ? $this.val('请搜索...') : null;    })
5.部分页面加载更新

为了提高web性能,有更新时我们通常不会加载整个页面,而只是仅仅更新部分页面内容,如图片的延迟加载等。

setInterval(function(){//隔5s加载一次    //获取的内容将增加到 id为content的元素后    $('#content').load(url);}, 5000);
6.采用data方法来缓存数据

在项目中,为了避免多次重复的向服务器请求数据,通常会将获取的数据缓存起来以便后续使用。

var cache = {};$.data(cache, 'key', 'value');  //缓存数据//获取数据$.data(cache, 'key');
7.jQuery与其他库的兼容

如果在项目中使用JQuery,$ 是最常用的变量名,但JQuery并不是唯一一个使用$作为变量名的库,为了避免命名冲突,你可以按照下面方式来组织你的代码。

//方法1:为jQuery重命名var $jq = jQuery.noConflict();$jq('#id')...//方法2:推荐使用的方式(function($){    //do something....})(jQuery);
8.克隆table header到表格的最下面

为了让table具有更好的可读性,我们可以将表格的header信息克隆一份到表格的底部.

var $tfoot = $('<tfoot></tfoot>'); $($('thead').clone(true, true).children().get().reverse()).each(function(){    $tfoot.append($(this));});$tfoot.insertAfter('table thead');
9.根据视窗(viewport)创建一个全屏宽度和高度(width/height)的div
根据viewport创建一个全屏的div,这对在不同窗口大小下展示modal或对话框时非常有效.
$('#content').css({    'width': $(window).width(),    'height': $(window).height()});$(window).resize(function(){    var $win = $(window);    $('#content').css({        'width': $win.width(),        'height': $win.height()    });});
10.测试密码的强度
某些网站注册时常常会要求设置密码,网站也会根据输入密码的字符特点给出相应的提示,如密码过短、强度差、强度中等、强度强等。

html:

<input type="password" name="pass" id="pass" /> <span id="passstrength"></span>
jQuery:

//下面的正则表达式建议各位收藏哦,项目上有可能会用得着$('#pass').keyup(function(e) {      //密码为八位及以上并且字母数字特殊字符三项都包括     var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");  //密码为七位及以上并且字母、数字、特殊字符三项中有两项,强度是中等      var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");     var enoughRegex = new RegExp("(?=.{6,}).*", "g");     if (false == enoughRegex.test($(this).val())) {             $('#passstrength').html('More Characters');     } else if (strongRegex.test($(this).val())) {             $('#passstrength').className = 'ok';             $('#passstrength').html('Strong!');     } else if (mediumRegex.test($(this).val())) {             $('#passstrength').className = 'alert';             $('#passstrength').html('Medium!');     } else {             $('#passstrength').className = 'error';             $('#passstrength').html('Weak!');     }     return true;});
11.使用JQuery重绘图片的大小
关于图片大小的重绘,你可以在服务端来实现,也可以通过JQuery在客户端实现。

$(window).bind("load", function() {     // IMAGE RESIZE     $('#product_cat_list img').each(function() {          var maxWidth = 120;          var maxHeight = 120;          var ratio = 0;          var width = $(this).width();          var height = $(this).height();          if(width > maxWidth){           ratio = maxWidth / width;           $(this).css("width", maxWidth);           $(this).css("height", height * ratio);           height = height * ratio;          }          var width = $(this).width();          var height = $(this).height();          if(height > maxHeight){           ratio = maxHeight / height;           $(this).css("height", maxHeight);           $(this).css("width", width * ratio);           width = width * ratio;          }     });     //$("#contentpage img").show();     // IMAGE RESIZE});
12.滚动时动态加载页面内容

有些网站的网页内容不是一次性加载完毕的,而是在鼠标向下滚动时动态加载的.

var loading = false;$(window).scroll(function(){ if((($(window).scrollTop()+$(window).height())+250)>=$(document).height()){      if(loading == false){           loading = true;           $('#loadingbar').css("display","block");           $.get("load.php?start="+$('#loaded_max').val(), function(loaded){                $('body').append(loaded);                $('#loaded_max').val(parseInt($('#loaded_max').val())+50);                $('#loadingbar').css("display","none");                loading = false;           });      } }});$(document).ready(function() {    $('#loaded_max').val(50);});



转自:http://www.codeceo.com/article/12-useful-jquery-code.html






0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩多动调皮怎么办 手心老是出汗是怎么办 孩子吃饭特别慢怎么办 小孩子老想睡觉怎么办 孩子下午上课犯困怎么办 小孩子有多动症该怎么办 初中写作业犯困怎么办 孩子晚上学习困怎么办 小孩子容易兴奋激动怎么办 中考时过度兴奋怎么办 小孩兴奋不睡觉怎么办 孩子突然反常不听话怎么办? 婴儿亢奋不睡觉怎么办 宝宝听力筛查没通过怎么办 7个多月宝宝缺钙怎么办 暑假孩子天天看电视怎么办 移植后天天便秘怎么办 天天拉屎还便秘怎么办 孩子不爱吃鸡蛋怎么办 孩子看书没耐心怎么办 5岁宝宝鼻炎怎么办 手术后认知障碍怎么办 孩子很调皮好动怎么办 学生打家长该怎么办 老师打学生家长该怎么办 三岁儿子多动症怎么办 小孩一直缺锌怎么办 宝宝严重缺锌怎么办 儿童缺钙缺锌怎么办 怀孕前期喝酒了怎么办 怀孕之前喝酒了怎么办 怀孕后喝酒了怎么办 刚怀孕喝啤酒怎么办 早孕期间喝酒了怎么办 发现怀孕一个月怎么办 怀孕初期喝白酒怎么办 准备怀孕喝酒了怎么办 怀孕初期喝醉了怎么办 怀孕前喝酒了怎么办 受孕期间喝酒了怎么办 一个月发现怀孕怎么办