`

可以直接拿来用的15个jQuery代码片段

 
阅读更多

文章源自:http://www.csdn.net/article/2013-07-16/2816238-15-jQuery-Code-Snippets-for-Developers

可以直接拿来用的15个jQuery代码片段

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

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

1.预加载图片

(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. 让页面中的每个元素都适合在移动设备上展示

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.图像等比例缩放

$(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.返回页面顶部

// 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打造手风琴式的折叠效果

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的图片展示方式

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自动填充选择框

$(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.自动替换丢失的图片

// 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.在鼠标悬停时显示淡入/淡出特效

$(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.清空表单数据

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.预防对表单进行多次提交

$(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.动态添加表单元素

//change event on password1 field to prompt new input
$('#password1').change(function() {
        //dynamically create new input and insert after password1
        $("#password1").append("");
});

 13.让整个Div可点击

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元素

var maxHeight = 0;
$("div").each(function(){
   if ($(this).height() > maxHeight) { maxHeight = $(this).height(); }
});
$("div").height(maxHeight);

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

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);
});

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    直接拿来用的15个jQuery代码片段

    标题中提到的是“直接拿来用的15个jQuery代码片段”,这表明本文将分享十五个可以直接应用于项目中的实用jQuery代码片段。jQuery是广泛使用的一个JavaScript库,它简化了HTML文档遍历、事件处理、动画以及AJAX交互...

    jQuery常用代码片段

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

    jquery实用代码片段集合

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

    50个常见的JQUery代码

    jQuery 是一个广泛使用的 JavaScript 库,它极大地简化了网页中的 DOM 操作、事件处理和动画效果。以下是一些关于 jQuery 的常见...了解并熟练掌握这些代码片段,可以提升工作效率,创建出更加用户友好的 web 应用。

    分享100个直接可以拿来用的JavaScript实用功能代码片段

    在JavaScript的世界里,掌握一些实用的功能代码片段是提升开发效率的关键。这些代码片段涵盖了各种常见的前端开发场景,从DOM操作到事件处理,再到数据处理和动画效果,无一不是前端开发者日常所需。以下是对这些...

    50个必备的实用jQuery代码段

    ### 50个必备的实用jQuery代码段 #### 1. 如何创建嵌套的过滤器 嵌套过滤器能够帮助我们进一步精简选择器的结果集。例如,我们需要找到所有不包含特定类(如 `selected`)子元素的元素。 ```javascript // 创建一...

    12个超实用的JQuery代码片段

    ### jQuery代码片段知识点 #### 1. 导航菜单背景切换效果 在Web开发中,实现导航菜单的背景切换效果是常见的功能需求。在jQuery中,可以通过监听导航菜单项的点击事件,利用`addClass`和`removeClass`方法添加或...

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

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

    分享12个实用的jQuery代码片段

    标题《分享12个实用的jQuery代码片段》中提到了12个具体的jQuery技巧,这些技巧可以帮助WEB开发者和网页设计师在进行网页布局和应用开发时,提升网站的创意性和功能性。以下是对这些知识点的详细介绍: 1. 在新窗口...

    jQuery基于superslide鱼骨时间轴滚动代码.zip

    【jQuery基于superslide鱼骨时间轴滚动代码】是一个JavaScript特效,主要利用jQuery库和Superslide插件来实现一种独特的时间轴展示效果,通常用于呈现项目、历史事件或者新闻更新等信息,其视觉表现形式如同鱼骨一样...

    简单实用jQuery返回顶部代码.zip

    在网页设计中,用户体验往往是非常重要的一环,而“返回顶部”功能则是一个常见的提升用户体验的设计元素。这个“简单实用jQuery返回顶部代码.zip...在实际项目中,这样的代码片段可以被轻松集成,提升网站的整体质量。

    jQuery插件 高亮代码

    总结起来,jQuery插件中的高亮代码功能为网站提供了一种专业且美观的方式来展示代码片段,增强了用户体验。通过选择合适的插件并正确集成,你可以轻松实现这一功能,并根据需要进行个性化定制。无论你是开发者还是...

    jquery判断浏览器版本过低代码.zip

    "jiaoben19600"可能是这个代码片段的文件名,你解压后可以找到具体的实现代码。 总的来说,"jquery判断浏览器版本过低代码.zip"提供的解决方案有助于确保用户在最新且支持现代Web技术的浏览器上获得最佳体验。通过...

    前端常用代码片段

    ### 前端常用代码片段知识点详解 #### 一、预加载图像 预加载图像是一种优化技术,用于提高用户体验,特别是在图像密集型网站上。通过预加载,可以在图像实际可见之前将其加载到用户的浏览器中。这有助于减少等待...

    vscode代码片段部分

    `vfor.code-snippets` 是Vue.js中的`v-for`指令的代码片段,`v-for`用来基于一个数组或对象重复渲染元素。这些片段可以帮助快速生成`v-for`循环结构。 `$set.code-snippets` 可能涉及到Vue.js的`this.$set()`方法,...

    jQuery新闻公告文字横向滚动切换代码.zip

    如果这个代码片段是作为一个插件发布,那么它可能会包含一个初始化函数,接收参数来自定义滚动速度、间隔时间等。 7. **资源组织**:压缩包中的`index.html`是主页面文件,`js`目录可能包含jQuery库文件和自定义...

    有视差切换效果的jQuery幻灯片代码.zip

    描述中提到这是一段“非常实用的jquery代码”,表明这个代码片段是经过验证的,能够正常运行,并且适用于实际项目。此外,它还指出“有能力的还可以二次修改”,这意味着代码是开源的,允许开发者根据自己的需求进行...

    jQuery树型多级手风琴菜单代码

    在这里,我们可能会看到如下代码片段: ```javascript $(document).ready(function() { $('.parent').click(function() { $(this).children('ul').slideToggle('slow'); }); }); ``` 这段代码的意思是在文档...

Global site tag (gtag.js) - Google Analytics