zoukankan      html  css  js  c++  java
  • 26个Jquery使用小技巧(转)

    下面列出了一些Jquery使用技巧。比如有禁止右键点击、隐藏搜索文本框文字、在新窗口中打开链接、检测浏览器、预加载图片、页面样式切换、所有列等 高、动态控制页面字体大小、获得鼠标指针的X值Y值、验证元素是否为空、替换元素、延迟加载、验证元素是否存在于Jquery集合中、使DIV可点击、克 隆对象、使元素居中、计算元素个数、使用Google主机上的Jquery类库、禁用Jquery效果、解决Jquery类库与其他Javascript 类库冲突问题。

    1. 禁止右键点击

    1 $(document).ready(function(){
    2     $(document).bind("contextmenu",function(e){
    3         return false;
    4     });
    5 });

    2. 隐藏搜索文本框文字  

    复制代码
     1 $(document).ready(function() {
     2 $("input.text1").val("Enter your search text here");
     3    textFill($('input.text1'));
     4 });
     5   
     6     function textFill(input){ //input focus text function
     7     var originalvalue = input.val();
     8     input.focus( function(){
     9         if( $.trim(input.val()) == originalvalue ){ input.val(''); }
    10     });
    11     input.blur( function(){
    12         if( $.trim(input.val()) == '' ){ input.val(originalvalue); }
    13     });
    14 }
    复制代码

    3. 在新窗口中打开链接

    复制代码
     1 $(document).ready(function() {
     2    //Example 1: Every link will open in a new window
     3    $('a[href^="http://"]').attr("target", "_blank");
     4   
     5    //Example 2: Links with the rel="external" attribute will only open in a new window
     6    $('a[@rel$='external']').click(function(){
     7       this.target = "_blank";
     8    });
     9 });
    10 // how to use
    11 <A href="http://www.opensourcehunter.com" rel=external>open link</A>
    复制代码

    4. 检测浏览器

    注: 在版本jQuery 1.4中,$.support 替换掉了$.browser 变量

    复制代码
     1 $(document).ready(function() {
     2 // Target Firefox 2 and above
     3 if ($.browser.mozilla && $.browser.version >= "1.8" ){
     4     // do something
     5 }
     6  
     7 // Target Safari
     8 if( $.browser.safari ){
     9     // do something
    10 }
    11  
    12 // Target Chrome
    13 if( $.browser.chrome){
    14     // do something
    15 }
    16  
    17 // Target Camino
    18 if( $.browser.camino){
    19     // do something
    20 }
    21  
    22 // Target Opera
    23 if( $.browser.opera){
    24     // do something
    25 }
    26  
    27 // Target IE6 and below
    28 if ($.browser.msie && $.browser.version <= 6 ){
    29     // do something
    30 }
    31  
    32 // Target anything above IE6
    33 if ($.browser.msie && $.browser.version > 6){
    34     // do something
    35 }
    36 });
    复制代码

    5. 预加载图片

    复制代码
    1 $(document).ready(function() {
    2 jQuery.preloadImages = function()
    3 {
    4   for(var i = 0; i<ARGUMENTS.LENGTH; jQuery(?<img { i++)>").attr("src", arguments[i]);
    5   }
    6 }
    7 // how to use
    8 $.preloadImages("image1.jpg");
    9 });
    复制代码

    6. 页面样式切换

    复制代码
     1 $(document).ready(function() {
     2     $("a.Styleswitcher").click(function() {
     3         //swicth the LINK REL attribute with the value in A REL attribute
     4         $('link[rel=stylesheet]').attr('href' , $(this).attr('rel'));
     5     });
     6 // how to use
     7 // place this in your header
     8 <LINK rel=stylesheet type=text/css href="default.css">
     9 // the links
    10 <A class="Styleswitcher" href="#" rel=default.css>Default Theme</A>
    11 <A class="Styleswitcher" href="#" rel=red.css>Red Theme</A>
    12 <A class="Styleswitcher" href="#" rel=blue.css>Blue Theme</A>
    13 });
    复制代码

    7. 列高度相同

    如果使用了两个CSS列,使用此种方式可以是两列的高度相同。

    复制代码
     1 $(document).ready(function() {
     2 function equalHeight(group) {
     3     tallest = 0;
     4     group.each(function() {
     5         thisHeight = $(this).height();
     6         if(thisHeight > tallest) {
     7             tallest = thisHeight;
     8         }
     9     });
    10     group.height(tallest);
    11 }
    12 // how to use
    13 $(document).ready(function() {
    14     equalHeight($(".left"));
    15     equalHeight($(".right"));
    16 });
    17 });
    复制代码

    8. 动态控制页面字体大小

    用户可以改变页面字体大小

    复制代码
    $(document).ready(function() {
      // Reset the font size(back to default)
      var originalFontSize = $('html').css('font-size');
        $(".resetFont").click(function(){
        $('html').css('font-size', originalFontSize);
      });
      // Increase the font size(bigger font0
      $(".increaseFont").click(function(){
        var currentFontSize = $('html').css('font-size');
        var currentFontSizeNum = parseFloat(currentFontSize, 10);
        var newFontSize = currentFontSizeNum*1.2;
        $('html').css('font-size', newFontSize);
        return false;
      });
      // Decrease the font size(smaller font)
      $(".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;
      });
    });
    复制代码

    9. 返回页面顶部功能

    复制代码
     1 $(document).ready(function() {
     2 $('a[href*=#]').click(function() {
     3  if (location.pathname.replace(/^//,'') == this.pathname.replace(/^//,'')
     4  && location.hostname == this.hostname) {
     5    var $target = $(this.hash);
     6    $target = $target.length && $target
     7    || $('[name=' + this.hash.slice(1) +']');
     8    if ($target.length) {
     9   var targetOffset = $target.offset().top;
    10   $('html,body')
    11   .animate({scrollTop: targetOffset}, 900);
    12     return false;
    13    }
    14   }
    15   });
    16 // how to use
    17 // place this where you want to scroll to
    18 <A name=top></A>
    19 // the link
    20 <A href="#top">go to top</A>
    21 });
    复制代码

    11. 获得鼠标指针XY值

    复制代码
    1 $(document).ready(function() {
    2    $().mousemove(function(e){
    3      //display the x and y axis values inside the div with the id XY
    4     $('#XY').html("X Axis : " + e.pageX + " | Y Axis " + e.pageY);
    5   });
    6 // how to use
    7 <DIV id=XY></DIV>
    8  
    9 });
    复制代码

    12. 验证元素是否为空

    $(document).ready(function() {
      if ($('#id').html()) {
       // do something
       }
    });

    13. 替换元素

    1 $(document).ready(function() {
    2    $('#id').replaceWith('
    3 <DIV>I have been replaced</DIV>
    4  
    5 ');
    6 });

    14. jQuery延时加载功能

    1 $(document).ready(function() {
    2    window.setTimeout(function() {
    3      // do something
    4    }, 1000);
    5 });

    15. 移除单词功能

    $(document).ready(function() {
       var el = $('#id');
       el.html(el.html().replace(/word/ig, ""));
    });

    16. 验证元素是否存在于jquery对象集合中

    1 $(document).ready(function() {
    2    if ($('#id').length) {
    3   // do something
    4   }
    5 });

    17. 使整个DIV可点击

    复制代码
    1 $(document).ready(function() {
    2     $("div").click(function(){
    3       //get the url from href attribute and launch the url
    4       window.location=$(this).find("a").attr("href"); return false;
    5     });
    6 // how to use
    7 <DIV><A href="index.html">home</A></DIV>
    8  
    9 });
    复制代码

    18. ID与Class之间转换.

    当改变Window大小时,在ID与Class之间切换

    复制代码
    $(document).ready(function() {
       function checkWindowSize() {
        if ( $(window).width() > 1200 ) {
            $('body').addClass('large');
        }
        else {
            $('body').removeClass('large');
        }
       }
    $(window).resize(checkWindowSize);
    });
    复制代码

    19. 克隆对象

    1 $(document).ready(function() {
    2    var cloned = $('#id').clone();
    3 // how to use
    4 <DIV id=id></DIV>
    5  
    6 });

    20. 使元素居屏幕中间位置

    复制代码
    1 $(document).ready(function() {
    2   jQuery.fn.center = function () {
    3       this.css("position","absolute");
    4       this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
    5       this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    6       return this;
    7   }
    8   $("#id").center();
    9 });
    复制代码

    21. 写自己的选择器

    复制代码
     1 $(document).ready(function() {
     2    $.extend($.expr[':'], {
     3        moreThen1000px: function(a) {
     4            return $(a).width() > 1000;
     5       }
     6    });
     7   $('.box:moreThen1000px').click(function() {
     8       // creating a simple js alert box
     9       alert('The element that you have clicked is over 1000 pixels wide');
    10   });
    11 });
    复制代码

    22. 统计元素个数

    1 $(document).ready(function() {
    2    $("p").size();
    3 });

    23. 使用自己的 Bullets

    1 $(document).ready(function() {
    2    $("ul").addClass("Replaced");
    3    $("ul > li").prepend("‒ ");
    4  // how to use
    5  ul.Replaced { list-style : none; }
    6 });

    24. 引用Google主机上的Jquery类库

    复制代码
     1 //Example 1
     2 <SCRIPT src="http://www.google.com/jsapi"></SCRIPT>
     3 <SCRIPT type=text/javascript>
     4 google.load("jquery", "1.2.6");
     5 google.setOnLoadCallback(function() {
     6     // do something
     7 });
     8 </SCRIPT><SCRIPT type=text/javascript src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></SCRIPT>
     9  
    10  // Example 2:(the best and fastest way)
    11 <SCRIPT type=text/javascript src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></SCRIPT>
    复制代码

    25. 禁用Jquery(动画)效果

    1 $(document).ready(function() {
    2     jQuery.fx.off = true;
    3 });

    26. 与其他Javascript类库冲突解决方案

    1 $(document).ready(function() {
    2    var $jq = jQuery.noConflict();
    3    $jq('#id').show();
    4 });
  • 相关阅读:
    Manjaro配置攻略
    Manjaro蓝牙连接问题
    清除所有分区的根目录下的存在隐藏对系统不利的代码的文件
    取消默认磁盘共享
    高手必读 网络端口安全防护技巧放送
    批处理设置虚拟内存
    批处理方式修改IP地址和电脑名
    c++的基本知识
    Windows线程同步与互斥技术总结
    批处理方式设置XP系统的服务程序
  • 原文地址:https://www.cnblogs.com/macT/p/10214735.html
Copyright © 2011-2022 走看看