`
wb1991wb
  • 浏览: 157136 次
  • 来自: 上海
社区版块
存档分类
最新评论

常用的15个jQuery代码片段

 
阅读更多

jQuery里提供了许多创建交互式网站的方法,在开发Web项目时,开发人员应该好好利用jQuery代码,它们不仅能给网站带来各种动画、特效,还会提高网站的用户体验。

本文收集了15段非常实用的jQuery代码片段,你可以直接复制黏贴到代码里,但请开发者注意了,要理解代码再使用哦。下面就让我们一起来享受jQuery代码的魅力之处吧。

1.预加载图片

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

 源码

2. 让页面中的每个元素都适合在移动设备上展示

Js代码 复制代码
  1. var scr = document.createElement('script');   
  2. scr.setAttribute('src''https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js');   
  3. document.body.appendChild(scr);   
  4. scr.onload = function(){   
  5.     $('div').attr('class''').attr('id''').css({   
  6.         'margin' : 0,   
  7.         'padding' : 0,   
  8.         'width''100%',   
  9.         'clear':'both'  
  10.     });   
  11. };  
var scr = document.createElement('script');
scr.setAttribute('src', 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js');
document.body.appendChild(scr);
scr.onload = function(){
    $('div').attr('class', '').attr('id', '').css({
        'margin' : 0,
        'padding' : 0,
        'width': '100%',
        'clear':'both'
    });
};

 源码

3.图像等比例缩放

Js代码 复制代码
  1. $(window).bind("load"function() {   
  2.        
  3. // IMAGE RESIZE   
  4.     $('#product_cat_list img').each(function() {   
  5.         var maxWidth = 120;   
  6.         var maxHeight = 120;   
  7.         var ratio = 0;   
  8.         var width = $(this).width();   
  9.         var height = $(this).height();   
  10.         if(width > maxWidth){   
  11.             ratio = maxWidth / width;   
  12.             $(this).css("width", maxWidth);   
  13.             $(this).css("height", height * ratio);   
  14.             height = height * ratio;   
  15.         }   
  16.         var width = $(this).width();   
  17.         var height = $(this).height();   
  18.         if(height > maxHeight){   
  19.             ratio = maxHeight / height;   
  20.             $(this).css("height", maxHeight);   
  21.             $(this).css("width", width * ratio);   
  22.             width = width * ratio;   
  23.         }   
  24.     });   
  25.        
  26. //$("#contentpage img").show();   
  27.        
  28. // IMAGE RESIZE   
  29. });  
$(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
});

 源码

4.返回页面顶部

Js代码 复制代码
  1. // Back To Top   
  2. $(document).ready(function(){   
  3.   $('.top').click(function() {    
  4.      $(document).scrollTo(0,500);    
  5.   });   
  6. });   
  7. //Create a link defined with the class .top   
  8. <a href="#" class="top">Back To Top</a>  
// Back To Top
$(document).ready(function(){
  $('.top').click(function() { 
     $(document).scrollTo(0,500); 
  });
});
//Create a link defined with the class .top
<a href="#" class="top">Back To Top</a>

 源码

5.使用jQuery打造手风琴式的折叠效果

Js代码 复制代码
  1. var accordion = {   
  2.      init: function(){   
  3.            var $container = $('#accordion');   
  4.            $container.find('li:not(:first) .details').hide();   
  5.            $container.find('li:first').addClass('active');   
  6.            $container.on('click','li a',function(e){   
  7.                   e.preventDefault();   
  8.                   var $this = $(this).parents('li');   
  9.                   if($this.hasClass('active')){   
  10.                          if($('.details').is(':visible')) {   
  11.                                 $this.find('.details').slideUp();   
  12.                          } else {   
  13.                                 $this.find('.details').slideDown();   
  14.                          }   
  15.                   } else {   
  16.                          $container.find('li.active .details').slideUp();   
  17.                          $container.find('li').removeClass('active');   
  18.                          $this.addClass('active');   
  19.                          $this.find('.details').slideDown();   
  20.                   }   
  21.            });   
  22.      }   
  23. };  
var accordion = {
     init: function(){
           var $container = $('#accordion');
           $container.find('li:not(:first) .details').hide();
           $container.find('li:first').addClass('active');
           $container.on('click','li a',function(e){
                  e.preventDefault();
                  var $this = $(this).parents('li');
                  if($this.hasClass('active')){
                         if($('.details').is(':visible')) {
                                $this.find('.details').slideUp();
                         } else {
                                $this.find('.details').slideDown();
                         }
                  } else {
                         $container.find('li.active .details').slideUp();
                         $container.find('li').removeClass('active');
                         $this.addClass('active');
                         $this.find('.details').slideDown();
                  }
           });
     }
};

6.通过预加载图片廊中的上一幅下一幅图片来模仿Facebook的图片展示方式

Js代码 复制代码
  1. var nextimage = "/images/some-image.jpg";   
  2. $(document).ready(function(){   
  3. window.setTimeout(function(){   
  4. var img = $("").attr("src", nextimage).load(function(){   
  5. //all done   
  6. });   
  7. }, 100);   
  8. });  
var nextimage = "/images/some-image.jpg";
$(document).ready(function(){
window.setTimeout(function(){
var img = $("").attr("src", nextimage).load(function(){
//all done
});
}, 100);
});

 源码

7.使用jQuery和Ajax自动填充选择框

Js代码 复制代码
  1. $(function(){   
  2. $("select#ctlJob").change(function(){   
  3. $.getJSON("/select.php",{id: $(this).val(), ajax: 'true'}, function(j){   
  4. var options = '';   
  5. for (var i = 0; i < j.length; i++) {   
  6. options += '   
  7. ' + j[i].optionDisplay + '  
  8. ';   
  9. }   
  10. $("select#ctlPerson").html(options);   
  11. })   
  12. })   
  13. })  
$(function(){
$("select#ctlJob").change(function(){
$.getJSON("/select.php",{id: $(this).val(), ajax: 'true'}, function(j){
var options = '';
for (var i = 0; i < j.length; i++) {
options += '
' + j[i].optionDisplay + '
';
}
$("select#ctlPerson").html(options);
})
})
})

 源码

8.自动替换丢失的图片

Js代码 复制代码
  1. // Safe Snippet   
  2. $("img").error(function () {   
  3.     $(this).unbind("error").attr("src""missing_image.gif");   
  4. });   
  5. // Persistent Snipper   
  6. $("img").error(function () {   
  7.     $(this).attr("src""missing_image.gif");   
  8. });  
// Safe Snippet
$("img").error(function () {
    $(this).unbind("error").attr("src", "missing_image.gif");
});
// Persistent Snipper
$("img").error(function () {
    $(this).attr("src", "missing_image.gif");
});

 源码

9.在鼠标悬停时显示淡入/淡出特效

Js代码 复制代码
  1. $(document).ready(function(){   
  2.     $(".thumbs img").fadeTo("slow", 0.6);   
  3. // This sets the opacity of the thumbs to fade down to 60% when the page loads   
  4.     $(".thumbs img").hover(function(){   
  5.         $(this).fadeTo("slow", 1.0);   
  6. // This should set the opacity to 100% on hover   
  7.     },function(){   
  8.         $(this).fadeTo("slow", 0.6);   
  9. // This should set the opacity back to 60% on mouseout   
  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
    });
});
 源码
10.清空表单数据
Js代码 复制代码
  1. function clearForm(form) {   
  2.      
  3. // iterate over all of the inputs for the form   
  4.      
  5. // element that was passed in   
  6.   $(':input', form).each(function() {   
  7.     var type = this.type;   
  8.     var tag = this.tagName.toLowerCase();   
  9. // normalize case   
  10.        
  11. // it's ok to reset the value attr of text inputs,   
  12.        
  13. // password inputs, and textareas   
  14.     if (type == 'text' || type == 'password' || tag == 'textarea')   
  15.       this.value = "";   
  16.     // checkboxes and radios need to have their checked state cleared   
  17.     // but should *not* have their 'value' changed   
  18.     else if (type == 'checkbox' || type == 'radio')   
  19.       this.checked = false;   
  20.     // select elements need to have their 'selectedIndex' property set to -1   
  21.     // (this works for both single and multiple select elements)   
  22.     else if (tag == 'select')   
  23.       this.selectedIndex = -1;   
  24.   });   
  25. };  
function clearForm(form) {
  
// iterate over all of the inputs for the form
  
// element that was passed in
  $(':input', form).each(function() {
    var type = this.type;
    var tag = this.tagName.toLowerCase();
// normalize case
    
// it's ok to reset the value attr of text inputs,
    
// password inputs, and textareas
    if (type == 'text' || type == 'password' || tag == 'textarea')
      this.value = "";
    // checkboxes and radios need to have their checked state cleared
    // but should *not* have their 'value' changed
    else if (type == 'checkbox' || type == 'radio')
      this.checked = false;
    // select elements need to have their 'selectedIndex' property set to -1
    // (this works for both single and multiple select elements)
    else if (tag == 'select')
      this.selectedIndex = -1;
  });
};
 源码

 11.预防对表单进行多次提交

Js代码 复制代码
  1. $(document).ready(function() {   
  2.   $('form').submit(function() {   
  3.     if(typeof jQuery.data(this"disabledOnSubmit") == 'undefined') {   
  4.       jQuery.data(this"disabledOnSubmit", { submited: true });   
  5.       $('input[type=submit], input[type=button]'this).each(function() {   
  6.         $(this).attr("disabled""disabled");   
  7.       });   
  8.       return true;   
  9.     }   
  10.     else  
  11.     {   
  12.       return false;   
  13.     }   
  14.   });   
  15. });  
$(document).ready(function() {
  $('form').submit(function() {
    if(typeof jQuery.data(this, "disabledOnSubmit") == 'undefined') {
      jQuery.data(this, "disabledOnSubmit", { submited: true });
      $('input[type=submit], input[type=button]', this).each(function() {
        $(this).attr("disabled", "disabled");
      });
      return true;
    }
    else
    {
      return false;
    }
  });
});

 源码

 

12.动态添加表单元素

Js代码 复制代码
  1. //change event on password1 field to prompt new input   
  2. $('#password1').change(function() {   
  3.            
  4. //dynamically create new input and insert after password1   
  5.         $("#password1").append("");   
  6. });  
//change event on password1 field to prompt new input
$('#password1').change(function() {
        
//dynamically create new input and insert after password1
        $("#password1").append("");
});

 源码

13.让整个Div可点击

Js代码 复制代码
  1. blah blah blah. link   
  2. The following lines of jQuery will make the entire div clickable: $(".myBox").click(function(){ window.location=$(this).find("a").attr("href"); return false; });  
blah blah blah. link
The following lines of jQuery will make the entire div clickable: $(".myBox").click(function(){ window.location=$(this).find("a").attr("href"); return false; });

 源码

14.平衡高度或Div元素

Js代码 复制代码
  1. var maxHeight = 0;   
  2. $("div").each(function(){   
  3.    if ($(this).height() > maxHeight) { maxHeight = $(this).height(); }   
  4. });   
  5. $("div").height(maxHeight);  
var maxHeight = 0;
$("div").each(function(){
   if ($(this).height() > maxHeight) { maxHeight = $(this).height(); }
});
$("div").height(maxHeight);

 源码

15. 在窗口滚动时自动加载内容

Js代码 复制代码
  1. var loading = false;   
  2. $(window).scroll(function(){   
  3.     if((($(window).scrollTop()+$(window).height())+250)>=$(document).height()){   
  4.         if(loading == false){   
  5.             loading = true;   
  6.             $('#loadingbar').css("display","block");   
  7.             $.get("load.php?start="+$('#loaded_max').val(), function(loaded){   
  8.                 $('body').append(loaded);   
  9.                 $('#loaded_max').val(parseInt($('#loaded_max').val())+50);   
  10.                 $('#loadingbar').css("display","none");   
  11.                 loading = false;   
  12.             });   
  13.         }   
  14.     }   
  15. });   
  16. $(document).ready(function() {   
  17.     $('#loaded_max').val(50);   
  18. });  
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);
});

 via:codegeekz

分享到:
评论

相关推荐

    jQuery常用代码片段

    这篇博文"jQuery常用代码片段"很可能是为了分享一些实用的jQuery代码示例,帮助开发者提高工作效率。下面我们将深入探讨jQuery的一些核心功能和常见用法。 1. **选择器**: jQuery的选择器类似于CSS,可以轻松地选取...

    常用的几个JQuery代码片段

    jQuery 是一款广泛使用的 JavaScript 库,它极大地简化...以上就是一些常用的 jQuery 代码片段,它们涵盖了常见的交互效果、数据管理以及兼容性处理等多个方面。熟练掌握这些技巧,能够使你在网页开发中更加得心应手。

    45个实用的jquery代码片段

    这个“45个实用的jquery代码片段”集合为开发者提供了丰富的资源,可以帮助他们更高效地开发网页应用。下面,我们将详细讨论这些jQuery代码片段中的关键知识点。 1. **选择器**:jQuery提供了丰富且直观的选择器,...

    jQuery 常用代码段

    这个压缩包文件“超实用的jQuery代码段”显然是一份汇集了多个常见和实用jQuery代码片段的资源,对于前端开发者来说极具价值。下面,我们将深入探讨这些关键知识点。 1. **选择器**:jQuery的选择器使得选取DOM元素...

    高效Web开发的10个jQuery代码片段_.docx

    以下是从"高效Web开发的10个jQuery代码片段"中提炼出的关键知识点: 1. **检测Internet Explorer版本**: 使用`navigator.userAgent`对象可以检测用户使用的浏览器类型。通过匹配字符串`msie/i`,我们可以判断是否...

    VS2010 VS2012最好用的JQuery代码段

    在Visual Studio 2010 和 2012 这两个版本中,开发人员可以利用jQuery代码片段来提高编码效率。本文将详细介绍如何在VS2010和VS2012中使用这些代码片段,以及它们为何被视为“最好用”的。** **一、安装jQuery库** ...

    15个常用的jquery代码片段

    接下来,我将详细介绍文章中提到的15个常用的jQuery代码片段所涉及的知识点。 1. 回到页面顶部动画 使用jQuery的animate函数可以实现平滑滚动回页面顶部的功能,这通常是通过修改document的scrollTop属性来完成的。...

    jquery实用代码片段集合

    ### jQuery实用代码片段集合知识点 ...以上知识点涵盖了在实际开发中常用的jQuery代码片段,它们可以提高开发效率,增强用户体验。通过这些实用的代码片段,开发者可以更灵活地处理常见的前端开发场景。

    75款常用的jquery特效前端网页代码

    在IT行业中,前端开发是构建网站用户界面的关键部分,而jQuery...对于经验丰富的开发者,这些代码片段可以作为快速解决问题的参考资料。总之,掌握并灵活运用jQuery特效,能够极大地提升前端开发效率和网页的用户体验。

    前端常用Jquery代码

    这个"前端常用jQuery代码"压缩包显然包含了大量实用的代码片段,适用于各种网页特效的实现,帮助开发者快速构建功能丰富的网站。 jQuery的核心特性包括选择器、DOM操作、事件处理、动画效果以及Ajax交互。选择器是...

    dreamweaver jQuery代码提示插件

    5. 代码片段:预定义的jQuery代码片段,可以一键插入到文档中,例如常见动画效果或事件处理。 使用Dreamweaver jQuery代码提示插件,开发者可以更专注于设计和实现功能,而不是记忆API细节。同时,由于插件与...

    前端常用代码片段

    ### 前端常用代码片段知识点详解 #### 一、预加载图像 ...以上这些代码片段涵盖了前端开发中常用的几个方面,包括图像处理、鼠标事件监听以及CSS动画等。熟练掌握这些技巧能够显著提高前端项目的质量和用户体验。

    一键下载75款常用的jquery特效前端网页代码

    本资源集合提供了75款常用的jQuery特效前端网页代码,对于网页开发者来说,这是一个宝贵的资源库,可以帮助快速实现各种网页交互和视觉效果。 1. **jQuery的选择器**:jQuery提供了丰富的选择器,如ID选择器(#id),...

    jquery常用代码段

    根据提供的文件信息,我们可以总结出一系列与jQuery相关的实用代码片段...以上就是关于这50个jQuery常用代码片段的一些关键知识点。它们涵盖了从基础到进阶的各种应用场景,对于提高开发效率和优化用户体验非常有帮助。

    7个有用的jQuery代码片段分享

    以下是一个计算指定元素内子元素个数的jQuery代码片段: ```javascript var count = $("#foo").children().length; ``` 需要注意的是,代码片段中的`#foo`应根据实际需要替换为具体的元素选择器。 总结来说,以上...

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

    ### jQuery代码片段知识点 1. **导航菜单背景切换效果** - 实现激活状态导航项背景变化的方法之一是使用jQuery来绑定点击事件,并通过`.addClass()`与`.removeClass()`方法动态管理类的应用,从而达到切换背景色的...

    史上最全Hbuilder 代码片段snippets,支持Thinkphp

    HBuilder的jQuery代码片段可能包括常见的DOM操作(如$(document).ready()、$(selector).click())、动画方法(如fadeIn()、slideUp())以及Ajax请求。 6. **使用方法**: 要使用这个压缩包中的HBuilder代码片段,...

    Jquery,C#异步刷新源代码

    在客户端,你可能会看到如下Jquery代码: ```javascript $('#refreshButton').click(function() { $.ajax({ url: '/api/refresh', type: 'GET', success: function(data) { $('#contentArea').html(data); ...

Global site tag (gtag.js) - Google Analytics