• 分享十二个有用的jQuery代码


    分享7个有用的jQuery代码

    这篇文章主要介绍了7个有用的jQuery技巧分享,本文给出了在新窗口打开链接、设置等高的列、jQuery预加载图像、禁用鼠标右键、设定计时器等实用代码片段,需要的朋友可以参考下

    jQuery是一款优秀的JavaScript库,它在WEB开发者和网页设计师中非常出名,帮助网页设计师开发出很多有创意和漂亮的WEB页面。

    下面是我收集的一些小技巧,这些技巧将帮助你提高你网站布局和应用的创意性以及功能性。

    一、在新窗口打开链接

    用这个代码,你点击超文本链接时会在新窗口中打开,为用户带来更好的体验:

    $(document).ready(function() {
      //select all anchor tags that have http in the href
      //and apply the target=_blank
      $("a[href^='http']").attr('target','_blank');
    });

    二、设定计时器

    $(document).ready(function() {
      window.setTimeout(function() {
        // some code
      }, 500);
    });

    三、设置等高的列

    使用下面的代码,可以使得你的网页应用每一列高度都一样:

    <div class="equalHeight" style="border:1px solid">
     <p>First Line</p>
     <p>Second Line</p>
     <p>Third Line</p>
    </div>
    <div class="equalHeight" style="border:1px solid">
     <p>Column Two</p>
    </div>
    <script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>
    $(document).ready(function() {
     equalHeight('.equalHeight');
    });
    //global variable, this will store the highest height value
    var maxHeight = 0;
    function equalHeight(col) {
     //Get all the element with class = col
     col = $(col);
     //Loop all the col
     col.each(function() {
      //Store the highest value
      if ($(this).height() > maxHeight) {
       maxHeight = $(this).height();
      }
     });
     //Set the height
     col.height(maxHeight);
    }
    </script>

    四、jQuery预加载图像

    这个技巧可以加快网页加载图片的速度:

    jQuery.preloadImagesInWebPage = function() {
     for (var ctr = 0; ctr & lt; arguments.length; ctr++) {
      jQuery("").attr("src", arguments[ctr]);
     }
    }
    // 使用方法:
    $.preloadImages("image1.gif", "image2.gif", "image3.gif");
    // 检查图片是否被加载
    $('#imageObject').attr('src', 'image1.gif').load(function() {
     alert('The image has been loaded…');
    });

    五、把元素定位到页面中间

    <div id="foo" style="200px;height: 200px;background: #ccc;"></div>
    <script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>
    <script type="text/javascript">
    jQuery.fn.center = function() {
     this.css("position", "absolute");
     this.css("top", ($(window).height() - this.height()) / 2 + $(window).scrollTop() + "px");
     this.css("left", ($(window).width() - this.width()) / 2 + $(window).scrollLeft() + "px");
     return this;
    }
    //Use the above function as:
    $('#foo').center();
    </script>

     六、禁用鼠标右键

    $(document).ready(function() {
     //catch the right-click context menu
     $(document).bind("contextmenu", function(e) {
      //warning prompt - optional
      alert("No right-clicking!");
      //delete the default context menu
      return false;
     });
    });

    七、计算子元素的个数

    <div id="foo">
     <div id="bar"></div>
     <div id="baz">
      <div id="biz"></div>
      <span><span></span></span>
     </div>
    </div>
    <script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>
    <script type="text/javascript">
     //jQuery code to count child elements $("#foo > div").size()
    alert($("#foo > div").size())
    </script>

    八、更改样式列表

    这段代码将帮助你更改样式列表。

     $(document).ready(function() {
     $("a.cssSwap").click(function() { 
     //swap the link rel attribute with the value in the rel 
     $('link[rel=stylesheet]').attr('href' , $(this).attr('rel')); 
     }); 
     });

    九、使用jQuery设定文本大小

    加入这段代码,用户可根据需求重新设定文本尺寸(增加或减少)。

     $(document).ready(function() {
     //find the current font size
     var originalFontSize = $('html').css('font-size');
    
    //Increase the text size
     $(".increaseFont").click(function() {
     var currentFontSize = $('html').css('font-size');
     var currentFontSizeNumber = parseFloat(currentFontSize, 10);
    
    var newFontSize = currentFontSizeNumber*1.2;
     $('html').css('font-size', newFontSize);
     return false;
     });
    
    //Decrease the Text Size
     $(".decreaseFont").click(function() {
     var currentFontSize = $('html').css('font-size');
     var currentFontSizeNum = parseFloat(currentFontSize, 10);
    
    var newFontSize = currentFontSizeNum*0.8;
     $('html').css('font-size', newFontSize);
     return false;
     });
    
    // Reset Font Size
     $(".resetFont").click(function(){
     $('html').css('font-size', originalFontSize);
     });
     });

    十、检测当前鼠标坐标

    使用这个JS代码,你可以在任何浏览器里获取鼠标坐标。

     $(document).ready(function() {
     $().mousemove(function(e)
     {
     $('# MouseCoordinates ').html("X Axis Position = " + e.pageX + " and Y Axis Position = " + e.pageY);
     });

    十一、获取鼠标指针的X / Y轴

     $().mousemove(function(e){
     //display the x and y axis values inside the P element
     $('p').html("X Axis : " + e.pageX + " | Y Axis " + e.pageY);
     });

    十二、返回到顶部链接

    此代码对于比较长的页面非常实用,用户不必拉滚动条来返回顶部,直接点击“返回顶部”即可。

     $(document).ready(function() {
     //when the id="top" link is clicked
     $('#top').click(function() {
     //scoll the page back to the top
     $(document).scrollTo(0,500);
     }
     });

    jQuery是JavaScript最好的库之一,支持Ajax及HTML 脚本客户端,主要用于事件处理及制作动画。另外,jQuery还拥有各种插件,可以让开发者在最快的时间内创建网页。

  • 相关阅读:
    [bzoj1072][SCOI2007][排列perm] (状态压缩+数位dp+排列去重)
    [bzoj2461][BeiJing2011][符环] (括号配对+记忆化搜索+高维dp)
    [bzoj4027][HEOI2015][兔子与樱花] (树形dp思想+玄学贪心)
    [bzoj1925][Sdoi2010][地精部落] (序列动态规划)
    [bzoj1004][HNOI2008][Cards] (置换群+Burnside引理+动态规划)
    [bzoj1003][ZJOI2006][物流运输] (最短路+dp)
    [spoj104][Highways] (生成树计数+矩阵树定理+高斯消元)
    [bzoj1002][FJOI2007 轮状病毒] (生成树计数+递推+高精度)
    [bzoj 1001][Beijing2006]狼抓兔子 (最小割+对偶图+最短路)
    [模拟赛FJOI Easy Round #2][T3 skill] (最小割+最大权闭合子图(文理分科模型))
  • 原文地址:https://www.cnblogs.com/croso/p/5236299.html
Copyright © 2020-2023  润新知