jQuery已经成为任何web项目的重要组成部分。它为网站提供了交互性的通过移动HTML元素,创建自定义动画,处理事件,选择DOM元素,检索整个document ,让最终用户有一个更好的体验。
在这篇文章中我已经收集了20 +个可重复使用的jQuery代码片段,你可以很容易地复制并直接粘贴到你的项目中。
图片的延迟加载
1 |
jQuery(document).ready( function () { |
2 |
jQuery( "img.lazy" ).lazy({ |
Source
预先载入图像
04 |
$.preLoadImages = function () { |
05 |
var args_len = arguments.length; |
06 |
for ( var i = args_len; i--;) { |
07 |
var cacheImage = document.createElement( 'img' ); |
08 |
cacheImage.src = arguments[i]; |
09 |
cache.push(cacheImage); |
Source
部分页面刷新
1 |
setInterval( function () { |
2 |
$( "#refresh" ).load(location.href+ " #refresh>*" , "" ); |
Source
延迟动画/效果
1 |
$( ".alert" ).delay(2000).fadeOut(); |
Source
Open external link in New Window
01 |
$( 'a' ).each( function () { |
02 |
var a = new RegExp( '/' + window.location.host + '/' ); |
03 |
if (!a.test( this .href)) { |
04 |
$( this ).click( function (event) { |
05 |
event.preventDefault(); |
06 |
event.stopPropagation(); |
07 |
window.open( this .href, '_blank' ); |
Source
Make Everything Mobile Friendly
01 |
var scr = document.createElement( 'script' ); |
02 |
scr.setAttribute( 'src' , 'https: |
04 |
document.body.appendChild(scr); |
06 |
scr.onload = function (){ |
08 |
$( 'div' ).attr( 'class' , '' ).attr( 'id' , '' ).css({ |
Source
Image Resize Using jQuery
01 |
$(window).bind( "load" , function () { |
03 |
$( '#product_cat_list img' ).each( function () { |
07 |
var width = $( this ).width(); |
08 |
var height = $( this ).height(); |
11 |
ratio = maxWidth / width; |
12 |
$( this ).css( "width" , maxWidth); |
13 |
$( this ).css( "height" , height * ratio); |
14 |
height = height * ratio; |
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; |
Source
Smooth Scrolling
02 |
$( 'a[href*=#]:not([href=#])' ).click( function () { |
03 |
if (location.pathname.replace(/^\ |
04 |
&& location.hostname == this .hostname) { |
05 |
var target = $( this .hash); |
06 |
target = target.length ? target : $( '[name=' + this .hash.slice(1) + ']' ); |
08 |
$( 'html,body' ).animate({ |
09 |
scrollTop: target.offset().top |
Source
Window load event with minimum delay
05 |
$(window).load( function () { |
07 |
if (+ new Date - fn.now < 500) setTimeout(fn, 500); |
Source
jQuery Accordion
03 |
var allPanels = $( '.accordion > dd' ).hide(); |
05 |
$( '.accordion > dt > a' ).click( function () { |
07 |
$( this ).parent().next().slideDown(); |
Source
Simple Auto-Playing Slideshow
01 |
$( "#slideshow > div:gt(0)" ).hide(); |
03 |
setInterval( function () { |
04 |
$( '#slideshow > div:first' ) |
09 |
.appendTo( '#slideshow' ); |
Source
Shuffle DOM Elements
03 |
$.fn.shuffle = function () { |
05 |
var allElems = this .get(), |
06 |
getRandom = function (max) { |
07 |
return Math.floor(Math.random() * max); |
09 |
shuffled = $.map(allElems, function (){ |
10 |
var random = getRandom(allElems.length), |
11 |
randEl = $(allElems[random]).clone( true )[0]; |
12 |
allElems.splice(random, 1); |
16 |
this .each( function (i){ |
17 |
$( this ).replaceWith($(shuffled[i])); |
Source
Scroll Page Horizontally With Mouse Wheel
03 |
$( "body" ).mousewheel( function (event, delta) { |
05 |
this .scrollLeft -= (delta * 30); |
07 |
event.preventDefault(); |
Source
Load Only a Section of a Page
1 |
$( "#mainNav" ).load( "/store #mainNav" ) |
Source
Highlight Related Label when Input in Focus
1 |
$( "form :input" ).focus( function () { |
2 |
$( "label[for='" + this .id + "']" ).addClass( "labelfocus" ); |
4 |
$( "label" ).removeClass( "labelfocus" ); |
Source
Highlight All Links To Current Page
2 |
$( "a" ).each( function (){ |
3 |
if ($( this ).attr( "href" ) == window.location.pathname){ |
4 |
$( this ).addClass( "selected" ); |
Source
Better Broken Image Handling
2 |
$( 'img' ).error( function (){ |
3 |
$( this ).attr( 'src' , 'missing.png' ); |
7 |
$( "img" ).error( function (){ |
Source
Load Content on Scroll Automatically
02 |
$(window).scroll( function (){ |
03 |
if ((($(window).scrollTop()+$(window).height())+250)>=$(document). |
07 |
$( '#loadingbar' ).css( "display" , "block" ); |
08 |
$.get( "load.php?start=" +$( '#loaded_max' ).val(), |
10 |
$( 'body' ).append(loaded); |
11 |
$( '#loaded_max' ).val(parseInt($( '#loaded_max' ) |
13 |
$( '#loadingbar' ).css( "display" , "none" ); |
20 |
$(document).ready( function () { |
21 |
$( '#loaded_max' ).val(50); |
Source
Prevent Multiple Submit of Your Form
01 |
$(document).ready( function () { |
02 |
$( 'form' ).submit( function () { |
03 |
if ( typeof jQuery.data( this , "disabledOnSubmit" ) == 'undefined' ) { |
04 |
jQuery.data( this , "disabledOnSubmit" , { submited: true }); |
05 |
$( 'input[type=submit], input[type=button]' , this ).each( function () { |
06 |
$( this ).attr( "disabled" , "disabled" ); |
Source
Make Entire Div Clickable
1 |
$( ".myBox" ).click( function (){ |
2 |
window.location=$( this ).find( "a" ).attr( "href" ); |
Source
Toggle Text
1 |
$( "#more-less-options-button" ).click( function () { |
2 |
var txt = $( "#extra-options" ).is( ':visible' ) ? 'more options' : 'less |
4 |
$( "#more-less-options-button" ).text(txt); |
5 |
$( "#extra-options" ).slideToggle(); |
Source