`
luckyjaky
  • 浏览: 114483 次
  • 性别: 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使用小技巧

    根据给定的文件信息,以下是对“26个Jquery使用小技巧”中部分技巧的知识点详细解析: ### 技巧一:禁用右键菜单 ```javascript $(document).ready(function(){ $(document).bind("contextmenu", function(e){ ...

    Jquery使用小技巧汇总

    以下是一些实用的JQuery使用小技巧,涵盖了多个方面,包括用户交互、页面行为、兼容性处理等。 1. **禁止右键点击**:通过监听`contextmenu`事件并返回`false`,可以阻止用户在页面上右键点击。 ```javascript $...

    jquery学习小技巧

    ### jQuery学习小技巧详解 #### 一、关于页面元素的引用 在网页开发过程中,能够高效地选择并操作页面上的元素是至关重要的。jQuery 提供了一种简洁且强大的方式来实现这一目标。通过 `$(selector)` 函数,我们...

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

    以下是一些关于jQuery使用经验的小技巧,这些技巧可以帮助你编写更加高效、可维护的jQuery插件。 1. **使用闭包封装代码**: 将jQuery插件的代码放在立即执行的匿名函数(IIFE)中,如 `(function($) { ... })...

    jQuery使用的小例子

    这个“jQuery使用的小例子”压缩包很可能是包含了一系列实用的代码片段,帮助学习者深入理解jQuery的基本用法和高级技巧。 首先,jQuery的核心理念是“Write Less, Do More”,即用更少的代码实现更多的功能。例如...

    15个Jquery 技巧

    以下是对“15个Jquery 技巧”文章中的核心知识点进行的深入分析,旨在帮助使用jQuery框架的开发者更好地理解和运用jQuery。 #### 技巧1:使用最新版本的jQuery类库 随着技术的发展,jQuery团队不断推出新版本,每...

    2个jquery小游戏

    标题 "2个jquery小游戏" 暗示了我们将探讨基于jQuery技术开发的两款小型互动游戏。jQuery是一个流行的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务,使得开发者能更轻松地创建动态网页...

    50个jQuery Mobile开发技巧集萃

    使用jQuery Mobile来创建网站,第二个部分 - **知识点**: 继续学习如何使用jQuery Mobile构建网站,重点关注构建扬声器页面。 - **详细介绍**: - **概念理解**: 本教程继续深入探讨如何使用jQuery Mobile构建网站...

    jQuery使用removeClass方法删除元素指定Class的方法

    jQuery的API设计简洁直观,其中,`removeClass`方法就是用来从匹配的元素集合中的每个元素上移除一个或多个用空格隔开的样式类名。它是一种非常实用的方法,特别是在动态地添加和删除样式时非常有用。 首先,我们来...

    经典收藏 50个jQuery Mobile开发技巧集萃

    jQuery Mobile 是一个强大的框架,专为构建响应式和触控友好的移动Web应用而设计。以下是一些关于jQuery Mobile开发的技巧和知识点: 1. **Backbone 移动实例**:Backbone.js 是一个轻量级的MVC框架,与jQuery ...

    js 小项目练习,jQuery 小例子

    **jQuery小项目** 在"js 小项目练习,jQuery 小例子"中,我们可以看到几个基于jQuery实现的常见功能: 1. **菜单**:jQuery可以轻松地创建动态菜单,包括下拉菜单、滑动菜单等。通过监听用户的鼠标事件,如hover...

    50个Jquery经典实例 50个Jquery经典实例

    《50个jQuery经典实例》是一份集合了众多实用且高效jQuery代码的资源,它旨在帮助开发者提升在网页开发中的动态效果实现能力。jQuery作为一款强大的JavaScript库,简化了HTML文档遍历、事件处理、动画设计和Ajax交互...

    jQuery使用技巧

    ### jQuery使用技巧详解 #### 一、jQuery框架概述 **jQuery** 是一款流行的 JavaScript 库,自2006年由 John Resig 创建以来,迅速成为前端开发者中最受欢迎的工具之一。它极大地简化了 JavaScript 的使用,并提供...

    Jquery使用小结

    ### Jquery使用小结 #### 一、Jquery简介与基础使用 JQuery 是一款流行的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画以及 Ajax 交互等开发工作。通过本文,我们将对 JQuery 的基础知识进行总结,并...

    使用jquery做的js游戏

    本项目中的"使用jQuery做的js游戏"显然是利用jQuery的强大功能来构建的一个互动游戏。通过分析提供的文件,我们可以推断这个游戏的核心可能包含一个HTML页面(test.html)用于展示游戏界面,jQuery库(jquery-1.6.2....

    jQuery的常用技巧分享

    当需要从一个 jQuery 集合中获取单个元素时,可以使用 `eq(index)`、`get(index)` 或直接使用索引 `[index]`。 - **使用 `eq(index)`**:返回一个包含所选元素的新 jQuery 对象。 **示例代码**: ```javascript...

Global site tag (gtag.js) - Google Analytics