首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

十个简单实用的 jQuery 代码片段

2013-08-04 
10个简单实用的 jQuery 代码片段尽管各种 JavaScirpt 框架和库层出不穷,jQuery 仍然是 Web 前端开发中最常

10个简单实用的 jQuery 代码片段
尽管各种 JavaScirpt 框架和库层出不穷,jQuery 仍然是 Web 前端开发中最常用的工具库。今天,向大家分享我觉得在网站开发中10个简单实用的 jQuery 代码片段。

平滑滚动到锚点

  这个功能很常见,在网站底部添加一个让访客快速回到页面顶部的功能,下面是实现这个功能的示例代码:

// HTML:// <h1 id="anchor">Lorem Ipsum</h1>// <p><a href="#anchor" name="code">$(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});


滚动时自动加载内容

  很多网站使用了流行的瀑布图布局,这种类型的网站在页面滚动的时候会自动加载内容。下面这段代码让你能够把这个功能搬到你的网站上。
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);});


检测密码强度

  在表单功能中,经常会有检测用户输入的密码强度的功能,下面这个代码片段使用正则表达式来检测密码是否足够安全,当然记得在服务端也进行表单验证。
$('#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;});


均衡元素的高度

  使用纯 CSS代码实现均衡元素的高度比较困难,而下面这段 jQuery 代码会根据最高的元素来均衡所有的 Div 元素。

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


修复 IE6 PNG 问题

  至今,IE6 在国内仍然占据了大量的份额,因此在 Web 开发中仍然需要考虑 IE6 的兼容问题。比较常用的 IE6 PNG 图片问题,下面这段代码可以方便的修复。
$('.pngfix').each( function() {   $(this).attr('writing-mode', 'tb-rl');   $(this).css('background-image', 'none');   $(this).css( 'filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="path/to/image.png",sizingMethod="scale")');});


解析 JSON 字符串

  使用 jQuery 解析 JSON 数据并不复杂。下面是一个高效解析 JSON 数据并将其追加到您的网页的例子。
function parseJson(){    //Start by calling the json object, I will be using a         //file from my own site for the tutorial     //Then we declare a callback function to process the data    $.getJSON('hcj.json',getPosts);      //The process function, I am going to get the title,         //url and excerpt for 5 latest posts    function getPosts(data){        //Start a for loop with a limit of 5         for(var i = 0; i < 5; i++){            var strPost = '<h2>'                      + data.posts[i].title                      + '</h2>'                      + '<p>'                      + data.posts[i].excerpt                      + '</p>'                      + '<a href="'                      + data.posts[i].url                      + '" title="Read '                      + data.posts[i].title                      + '">Read ></a>';            //Append the body with the string            $('body').append(strPost);        }    }}  //Fire off the function in your document ready$(document).ready(function(){    parseJson();                   });


隔行换色

  这是一个很老的功能了,在大的列表或表格中,隔行颜色可以大大提高内容的可读性。下面的代码可以非常简单实现这个功能。
$('div:odd').css("background-color", "#F4F4F8");$('div:even').css("background-color", "#EFF1F1");


预加载图片

  你是否注意到 facebook 相册的图片加载速度特别快?那是因为在你看到这些图片之前已经预加载到你的浏览器缓存中了。下面是实现这个类似功能的代码示例:
var nextimage = "/images/some-image.jpg";$(document).ready(function(){    window.setTimeout(function(){        var img = $("<img>").attr("src", nextimage).load(function(){            //all done        });    }, 100);});


让整个 Div 可点击

  这是实现链接的父 Div 也能够点击的简单方法,HTML 示例代码如下:
<div name="code">$(".myBox").click(function(){     window.location=$(this).find("a").attr("href");      return false;});

热点排行