可以直接拿来用的常见Query代码片段

可以直接拿来用的常见Query代码片段

可以直接拿来用的常见Query代码片段

博客分类: jqueryjavascript

jqueryjavascript

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

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

1.预加载图片

Js代码 

(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代码 

var scr = document.createElement(‘script’);  

scr.setAttribute(‘src’, ‘https://ajax.proxy.ustclug.org/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代码 

$(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代码 

// 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代码 

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代码 

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代码 

$(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代码 

// 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代码 

$(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代码 

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代码 

$(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代码 

//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代码 

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代码 

var maxHeight = 0;  

$(“div”).each(function(){  

   if ($(this).height() > maxHeight) { maxHeight = $(this).height(); }  

});  

$(“div”).height(maxHeight);  

 源码

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

Js代码 

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

});  

16.使用jquery控制只能输入数字,并且关闭输入法

控制文本框只能输入数字是一个很常见的需求,比如电话号码的输入、数量的输入等,这时候就需要我们控制文本框只能输入数字。在用js控制之后在英文输入法的状态下去敲击键盘上的非数字键是输不进去的,然而当你转到中文输入法的时候输入的是中文,再按空格或回车键,中文或英文字母就输进去了,这时候就需要我们在文本框得到焦点的时候把输入法关闭,就是不响应输入法的切换。如下语句可以实现这样的功能。

 

下面的语句是用jquery写的,控制class为checkNum的文本框只能输入数字和小数点。

Js代码  收藏代码

  1. //监听键盘,只允许输入数字和小数点  

  2.         $(“.checkNum”).keypress(function(event) {  

  3.             var keyCode = event.which;  

  4.             if (keyCode == 46 || (keyCode >= 48 && keyCode <=57) || keyCode == 8)//8是删除键  

  5.                 return true;  

  6.             else  

  7.                 return false;  

  8.         }).focus(function() {  

  9.             this.style.imeMode=‘disabled’;  

  10.         });  

 

imeMode有四种形式,分别是:

active 代表输入法为中文
inactive 代表输入法为英文
auto 代表打开输入法 (默认)
disable 代表关闭输入法

转载于:https://my.oschina.net/messi31/blog/535900

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109232.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 进程间的7种通信方式_linux 进程间通信

    进程间的7种通信方式_linux 进程间通信1无名管道通信无名管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。2高级管道通信高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们成为高级管道方式。3有名管道通信有名管道(namedpipe):有名管道也是半双工的通信方式,但是它允许

    2022年10月11日
    4
  • 加密门禁卡复制

    加密门禁卡复制本文主要是针对一下加密门禁卡解密复制问题。最近发现补一张要50,成本的话白卡2块钱一张,读卡器可以白嫖也可以24多买一个不带壳pn532模块。一.卡类型IC卡是智能卡的总称。普通IC卡,0扇区不可以修改,其他扇区可反复擦写,我们使用的电梯卡、门禁卡等智能卡发卡商所使用的都是M1卡,可以理解为物业发的原卡。UID卡普通复制卡,可以重复擦写所有扇区,主要应用在IC卡复制上,遇到带有防火墙的读卡器就会失效。CUID卡可擦写防屏蔽卡,可以重复擦写所有扇区,UID卡复制无效的情况

    2022年6月25日
    116
  • el表达式的内置对象_IF嵌套函数

    el表达式的内置对象_IF嵌套函数1.模拟需求:从一个商品集合中取出所有商品,第一个商品用它的第一张图片,第二个商品用它的第二张图片2.起初按照通用思路,在c:forEach中定义一个varStatus,再通过vaStatus获取下标,结果写成了el表达式嵌套(如下),结果根本出不来 3.通过查资料发现,el表达式是不能直接写$进行嵌套的,如果要嵌套使用,需要省略掉嵌套里面的${}符号,如下就可以。

    2022年7月28日
    13
  • VBoxGuestAdditions加载不了

    VBoxGuestAdditions加载不了未能加载虚拟光盘D:\ProgramFiles(x86)\oraclevm\VBoxGuestAdditions.iso到虚拟电脑centeros7_8.Couldnotmountthemedia/drive’D:\ProgramFiles(x86)\oraclevm\VBoxGuestAdditions.iso'(VERR_PDM_MEDIA_LOCKED).返回代码: E_FAIL(0x80004005) 组件: ConsoleWrap 界…

    2022年6月16日
    140
  • Android中实现二级菜单

    Android中实现二级菜单公司项目里的需求,商城的左下角,要求有分类的Menu。看图:1.当点击一级分类,修改二级菜单里面的内容。2.同时一级菜单里的背景变为右边有白色三角的背景。3.当点击二级菜单的条目时候,Popupwindow消失,并且界面更新对应条目的商品数据。我的实现思路是:左下角弹出Popupwindow,里面使用两个ListView实现。我的Demo的效果:

    2022年5月9日
    43
  • UE4选不中半透明物体_半透明物体有哪些

    UE4选不中半透明物体_半透明物体有哪些UE4开发时,会出现透明材质的物体显示不全的情况本文给出几种解决方式供各位参考

    2022年10月5日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号