zoukankan      html  css  js  c++  java
  • 十条jQuery代码片段助力Web开发效率提升

    JQuery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可。以下十项jQuery示例可以帮助大家的Web设计项目顺利实现效率提升。

    检测IE浏览器

    在进行CSS设计时,IE浏览器对开发者及设计师而言无疑是个麻烦。尽管IE6的黑暗时代已经过去,IE浏览器家族的人气亦在不断下滑,但我们仍然有必要对其进行检测。当然,以下片段亦可用于检测其它浏览器。

    $(document).ready(function() { 
    2. 
    3.      if (navigator.userAgent.match(/msie/i) ){ 
    4. 
    5.        alert('I am an old fashioned Internet Explorer'); 
    6. 
    7.      } 
    8. 
    9.}); 

    平滑滚动至页面顶部

    以下是jQuery最为常见的一种实现效果:点击一条链接以平滑滚动至页面顶部。虽然没什么新鲜感可言,但每位开发者几乎都用得上。

    $("a[href='#top']").click(function() { 
    2. 
    3.  $("html, body").animate({ scrollTop: 0 }, "slow"); 
    4. 
    5.  return false; 
    6. 
    7.}); 

    保持始终处于顶部

    以下代码片段允许某一元素始终处于页面顶部。可以想见,其非常适合处理导航菜单、工具栏或者其它重要信息。

    $(function(){ 
    2. 
    3.var $win = $(window) 
    4. 
    5.var $nav = $('.mytoolbar'); 
    6. 
    7.var navTop = $('.mytoolbar').length && $('.mytoolbar').offset().top; 
    8. 
    9.var isFixed=0; 
    10. 
    11.processScroll() 
    12. 
    13.$win.on('scroll', processScroll) 
    14. 
    15.function processScroll() { 
    16. 
    17.var i, scrollTop = $win.scrollTop() 
    18. 
    19.if (scrollTop >= navTop && !isFixed) { 
    20. 
    21.isFixed = 1 
    22. 
    23.$nav.addClass('subnav-fixed') 
    24. 
    25.} else if (scrollTop <= navTop && isFixed) { 
    26. 
    27.isFixed = 0 
    28. 
    29. $nav.removeClass('subnav-fixed') 
    30. 
    31.} 
    32. 
    33.} 

    替换html标签

    jQuery能够非常轻松地实现html标签替换,而这也将为我们带来更多新的可能。

    $('li').replaceWith(function(){ 
    2. 
    3.  return $("<div />").append($(this).contents()); 
    4. 
    5.}); 

    检测屏幕宽度

    现在移动设备的人气几乎已经超过了传统计算机,因此对小型屏幕的尺寸进行检测就变得非常重要。幸运的是,我们可以利用jQuery轻松实现这项功能。

    var responsive_viewport = $(window).width(); 
    2. 
    3./* if is below 481px */ 
    4. 
    5.if (responsive_viewport < 481) { 
    6. 
    7.    alert('Viewport is smaller than 481px.'); 
    8. 
    9.} /* end smallest screen */ 

    自动修复损坏图片

    如果大家的站点非常庞大而且已经上线数年,那么其中或多或少会出现图片损坏的情况。这项功能可以检测损坏图片并根据我们的选择加以替换。

    $('img').error(function(){ 
    2. 
    3.$(this).attr('src', 'img/broken.png'); 
    4. 
    5.}); 

    检测复制、粘贴与剪切操作

    利用jQuery,大家可以非常轻松地检测到选定元素的复制、粘贴与剪切操作。

    $("#textA").bind('copy', function() { 
    2. 
    3.    $('span').text('copy behaviour detected!') 
    4. 
    5.}); 
    6. 
    7.$("#textA").bind('paste', function() { 
    8. 
    9.    $('span').text('paste behaviour detected!') 
    10. 
    11.}); 
    12. 
    13.$("#textA").bind('cut', function() { 
    14. 
    15.    $('span').text('cut behaviour detected!') 
    16. 
    17.}); 

    自动为外部链接添加target=“blank”属性

    在链接至外部站点时,大家可能希望使用target="blank"属性以确保在新的选项卡中打开页面。问题在于,target="blank"属性并未经过W3C认证。jQuery能够帮上大忙:以下片段能够检测当前链接是否指向外部,如果是则自动为其添加target="blank"属性。

    var root = location.protocol + '//' + location.host; 
    2. 
    3.$('a').not(':contains(root)').click(function(){ 
    4. 
    5.    this.target = "_blank"; 
    6. 
    7.}); 

    悬停时淡入/淡出

    又是另一项“经典”效果,大家可以利用以下片段随时加以运用。

    $(document).ready(function(){ 
    2. 
    3.    $(".thumbs img").fadeTo("slow", 0.6); // This sets the opacity of the thumbs to fade down to 60% when the page loads 
    4. 
    5.    $(".thumbs img").hover(function(){ 
    6. 
    7.        $(this).fadeTo("slow", 1.0); // This should set the opacity to 100% on hover 
    8. 
    9.    },function(){ 
    10. 
    11.        $(this).fadeTo("slow", 0.6); // This should set the opacity back to 60% on mouseout 
    12. 
    13.    }); 
    14. 
    15.}); 

    禁用文本/密码输入中的空格

    无论是电子邮件、用户名还是密码,很多常见字段都不需要使用空格。以下代码能够轻松禁用选定输入内容中的全部空格。

    $('input.nospace').keydown(function(e) { 
    2. 
    3.if (e.keyCode == 32) { 
    4. 
    5.return false; 
    6. 
    7.} 
    8. 
    9.}); 
  • 相关阅读:
    hdu 4002 Find the maximum
    hdu 2837 坑题。
    hdu 3123
    zoj Treasure Hunt IV
    hdu 2053 Switch Game 水题一枚,鉴定完毕
    poj 1430 Binary Stirling Numbers
    hdu 3037 Saving Beans
    hdu 3944 dp?
    南阳oj 求N!的二进制表示最低位的1的位置(从右向左数)。
    fzu 2171 防守阵地 II
  • 原文地址:https://www.cnblogs.com/enjoyprogram/p/5435019.html
Copyright © 2011-2022 走看看