`
luckyjaky
  • 浏览: 111849 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

26个JQuery使用小技巧

阅读更多

The use of the jQuery library is growing and growing(just released jQuery 1.4), more and more people are using this useful javascript library. This means that more and more useful jQuery tips, tricks and solutions are coming available. That’s why i created a small list of 26 cool and useful jQuery tips, tricks and solutions.

        jQuery has a lot of very useful plugins  that can help you with almost anything, but there are a couple of plugins that aren’t that smart to use, why? Well sometimes 1 or 2 lines of jQuery code can do the same thing(or even better), so why use a big script if you can do the same trick with a small piece of code.

        As many of you already know, jQuery can do a lot of things in more than just one way, so if you see a tip, trick or solution and think/know this can be done better, smarter or faster please let me know, post and share it in a comment below of just email me this, so that i can use this for part 2.

● Disable right-click(禁止右键点击)
        Disable right-click contextual menu.

$(document).ready(function(){   
  $(document).bind("contextmenu", function(e) {   
    return false;   
  });   
});  

  ● Disappearing search field text(隐藏搜索文本框文字)
        Hide when clicked in the search field, the value.(example can be found below in the comment fields)

$(document).ready(function() {   
  $("input.text1").val("Enter your search text here");   
  textFill($('input.text1'));   
});   
  
// input focus text function   
function textFill(input) {   
  var originalvalue = input.val();   
  input.focus(function() {   
    if( $.trim(input.val()) == originalvalue ) {   
      input.val('');   
    }   
  });   
  input.blur( function() {   
    if( $.trim(input.val()) == '' ) {   
      input.val(originalvalue);   
    }   
  });   
}  

 

Opening links in a new window(在新窗口中打开链接)
        XHTML 1.0 Strict doesn’t allow this attribute in the code, so use this to keep the code valid.

$(document).ready(function() {   
  //Example 1: Every link will open in a new window   
  $('a[href^="http://"]').attr("target", "_blank");   
  
  //Example 2: Links with the rel="external" attribute will only open in a new window   
  $('a[@rel$='external']').click(function() {   
    this.target = "_blank";   
  });   
});   
// how to use   
<a href="http://www.opensourcehunter.com" rel="external">open link</a>  

 

Detect browser(检测浏览器)
        Change/add something for a certain browser.
        Notice: As of jQuery 1.4, the $.browser variable is replaced by $.support.

$(document).ready(function() {   
// Target Firefox 2 and above   
if ($.browser.mozilla && $.browser.version >= "1.8" ){   
    // do something   
}   
  
// Target Safari   
if( $.browser.safari ){   
    // do something   
}   
  
// Target Chrome   
if( $.browser.chrome){   
    // do something   
}   
  
// Target Camino   
if( $.browser.camino){   
    // do something   
}   
  
// Target Opera   
if( $.browser.opera){   
    // do something   
}   
  
// Target IE6 and below   
if ($.browser.msie && $.browser.version <= 6 ){   
    // do something   
}   
  
// Target anything above IE6   
if ($.browser.msie && $.browser.version > 6){   
    // do something   
}   
});  

 

● Preloading images(预加载图片)
        This piece of code will prevent the loading of all images, which can be useful if you have a site with lots of images.

$(document).ready(function() {   
  jQuery.preloadImages = function() {   
    for(var i = 0; i < arguments.length; i++) {   
      $("<img>").attr("src", arguments[i]);   
    }   
  }   
  
  // how to use   
  $.preloadImages("image1.jpg");   
}); 

 CSS Styleswitcher(页面样式切换)
        Switch between different styles?

$(document).ready(function() {   
  $("a.Styleswitcher").click(function() {   
    // swicth the LINK REL attribute with the value in A REL attribute   
    $('link[rel=stylesheet]').attr('href' , $(this).attr('rel'));   
    });   
});   
  
// how to use   
// place this in your header   
<link rel="stylesheet" href="default.css" type="text/css">   
// the links   
<a href="#" class="Styleswitcher" rel="default.css">Default Theme</a>   
<a href="#" class="Styleswitcher" rel="red.css">Red Theme</a>   
<a href="#" class="Styleswitcher" rel="blue.css">Blue Theme</a>  

 Columns of equal height(列高度相同)
        If you are using two CSS columns, use this to make them exactly the same height.

$(document).ready(function() {   
  function equalHeight(group) {   
    tallest = 0;   
    group.each(function() {   
      thisHeight = $(this).height();   
      if (thisHeight > tallest) {   
        tallest = thisHeight;   
      }   
    });   
    group.height(tallest);   
  }   
  
  // how to use   
  $(document).ready(function() {   
    equalHeight($(".left"));   
    equalHeight($(".right"));   
  });   
});  

 Font resizing(动态控制页面字体大小)
        Want to let the users change there font size?

$(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;   
  });   
});  

 

Smooth(animated) page scroll(返回页面顶部功能)
        For a smooth(animated) ride back to the top(or any location).

$(document).ready(function() {   
  $('a[href*=#]').click(function() {   
   if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')   
       && location.hostname == this.hostname) {   
     var $target = $(this.hash);   
     $target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');   
     if ($target.length) {   
       var targetOffset = $target.offset().top;   
       $('html,body').animate( { scrollTop: targetOffset }, 900);   
       return false;   
     }   
   }   
  });   
});   
  
// how to use   
// place this where you want to scroll to   
<a name="top"></a>   
// the link   
<a href="#top">go to top</a>  

 

Get the mouse cursor x and y axis(获得鼠标指针 X/Y 值)
        Want to know where your mouse cursor is?

$(document).ready(function() {   
  $().mousemove(function(e) {   
    // display the x and y axis values inside the div with the id XY   
    $('#XY').html("X Axis : " + e.pageX + " | Y Axis " + e.pageY);   
  });   
});   
  
// how to use   
<div id="XY"></div> 

 

Verify if an Element is empty(验证元素是否为空)
        This will allow you to check if an element is empty.

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

 

Replace a element(替换元素)
        Want to replace a div, or something else?

$(document).ready(function() {   
  $('#id').replaceWith('<div>I have been replaced</div>');   
});  

 

jQuery timer callback functions(jQuery 延时加载功能)
        Want to delay something?

$(document).ready(function() {   
  window.setTimeout(function() {   
    // do something   
  }, 1000);   
});  

 Remove a word(移除单词功能)
        Want to remove a certain word(s)?

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

 

Verify that an element exists in jQuery(验证元素是否存在)
        Simply test with the .length property if the element exists.

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

 

Make the entire DIV clickable(使整个 DIV 可点击)
        Want to make the complete div clickable?

$(document).ready(function() {   
  $("div").click(function() {   
    // get the url from href attribute and launch the url   
    window.location = $(this).find("a").attr("href");   
    return false;   
  });   
});   
  
// how to use   
<div><a href="index.html">home</a></div>  

 

● Switch between classes or id’s when resizing the window(id 与 class 之间转换)
        Want to switch between a class or id, when resizing the window?

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

 ● Clone a object(克隆对象)
        Clone a div or an other element.

$(document).ready(function() {   
  var cloned = $('#id').clone();   
});   
  
// how to use   
<div id="id"></div>  

 

● Center an element on the screen(使元素居屏幕中间位置)
        Center an element in the center of your screen.

$(document).ready(function() {   
  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;   
  }   
  $("#id").center();   
});  

 ● Write our own selector(写自己的选择器)
        Write your own selectors.

$(document).ready(function() {   
  $.extend($.expr[':'], {   
      moreThen1000px: function(a) {   
      return $(a).width() > 1000;   
    }   
  });   
  
  $('.box:moreThen1000px').click(function() {   
    // creating a simple js alert box   
    alert('The element that you have clicked is over 1000 pixels wide');   
  });   
});  

 

● Count a element(统计元素个数)
        Count an element.

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

 

● Use Your Own Bullets(使用自己的 Bullets)
        Want to use your own bullets instead of using the standard or images bullets?

$(document).ready(function() {   
  $("ul").addClass("Replaced");   
  $("ul > li").prepend("- ");   
});   
  
// how to use   
ul.Replaced { list-style : none; }

 ● Let Google host jQuery for you(引用 Google 主机上的 jQuery 类库)
        Let Google host the jQuery script for you. This can be done in 2 ways.

// Example 1   
<script src="http://www.google.com/jsapi"></script>   
<script type="text/javascript">   
  google.load("jquery", "1.2.6");   
  google.setOnLoadCallback(function() {   
    // do something   
  });   
</script>   
  
 // Example 2:(the best and fastest way)   
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>

 ● Disable jQuery animations(禁用 jQuery 动画效果)
        Disable all jQuery effects.

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

 ● No conflict-mode(与其他 Javascript 类库冲突解决方案)
        To avoid conflict other libraries on your website, you can use this jQuery Method, and assign a different variable name instead of the dollar sign。

$(document).ready(function() {   
  var $jq = jQuery.noConflict();   
  $jq('#id').show();   
});  

 

 

分享到:
评论

相关推荐

    26个Jquery使用小技巧

    非常有用的Jquery使用小技巧,经验总结。

    jquery学习小技巧

    一些学习、使用jquery的小技巧,大家可以借鉴下。

    Jquery使用小结

    Jquery 基础知识总结 使用技巧 使用小结

    Jquery使用小技巧汇总

    下面列出了一些Jquery使用技巧。比如有禁止右键点击、隐藏搜索文本框文字、在新窗口中打开链接、检测浏览器、预加载图片、页面样式切换、所有列等高、动态控制页面字体大小、获得鼠标指针的X值Y值、验证元素是否为空...

    jquery小技巧

    自己学习jquery时,总结的jquery小技巧,希望能够对大家有帮助

    jQuery使用经验小技巧(推荐)

    使用相同的设计模式和架构也让修复bug或者二次开发更容易。一套经过验证的架构可以保证我的插件不出大的问题,不论插件简单还是复杂。我在这里分享10条我总结的经验。 1. 把你的代码全部放在闭包里面 这是我用的...

    jQuery使用技巧

    2、jQuery是一个轻量级的脚本,其代码非常小巧,最新版的JavaScript包只有20K左右。 3、jQuery支持CSS1-CSS3,以及基本的xPath。 4、jQuery是跨浏览器的,它支持的浏览器包括IE 6.0+, FF 1.5+, Safari 2.0+, Opera ...

    每个程序员都会的35种小技巧

    每个程序员都会的35种小技巧,干货推荐,每个程序员都会的35个jQuery小技巧!

    jQuery权威指南-源代码

    其次详细讲解了jQuery的各种选择器、jQuery操作DOM的方法、jQuery中的事件与应用、jQuery中的动画和特效、Ajax在jQuery中的应用,以及各种常用的jQuery插件的使用方法和技巧,所有这些知识点都配有完整的示例(包括...

    超实用的jQuery代码段

    超实用的jQuery代码段精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台、跨...

    jquery ajax 请求小技巧实例分析

    本文实例讲述了jquery ajax 请求小技巧。分享给大家供大家参考,具体如下: jquery 是一个非常好用的js框架,它为我们提供了很多工具。启动异步请求就是很好用的一个工具 官方推荐的ajax 请求格式 $.ajax({ url:...

    WEB前端开发都应知道的jquery小技巧及jquery三个简写

    目前小编给大家整理了14个jquery小技巧。 目录结构 1回到顶部按钮 2预加载图片 3检查图片是否加载完毕 4自动修复损坏的图片 5Hover 上的 Class 开关 6禁用 input 字段 7停止链接加载 8淡入淡出/滑动开关 9简单的...

    前端开发必知的15个jQuery小技巧

    本文主要介绍了前端开发必知的15个jQuery小技巧。具有很好的参考价值,下面跟着小编一起来看下吧

    jQuery开发技巧

    25大实用的jQuery技巧和解决方案 1 去除页面的右键菜单 $ document ready function { $ document bind &quot;contextmenu&quot; function e { return false; } ; } ; 2 搜索输入框文字的消失 当鼠标获得焦点 ...

    分享15个大家都熟知的jquery小技巧

    帮助提高你jQuery应用的15个大家都熟知的jquery小技巧,分享给大家 回到顶部按钮 图片预加载 判断图片是否加载完 自动修补破损图像 Hover切换class类 禁用输入 停止正在加载的链接 toggle fade/slide 简单...

    jquery技巧总结

    包括中文教程,api文档等资料 1、本文件夹下的两个js文件是目前的最新版本的jQuery1.1.2, 其中jquery-latest.js为源文件,大小约为58k,供大家学习使用, jquery-latest-pack.js为压缩后的文件只有大约20k...

Global site tag (gtag.js) - Google Analytics