JAVA、PHP、前端、APP、网站开发 - 开发技术学习

开发技术学习 » 前端设计 » 转:26 个 jQuery使用技巧

转:26 个 jQuery使用技巧

此文被围观2431日期: 2012-11-25 分类 : 前端设计  标签:  ····
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. 1. 禁用右键点击(Disable right-click) [sourcecode plain="language"] $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return false; }); }); [/sourcecode] 2. 禁用搜索文本框(Disappearing search field text) [sourcecode plain="language"] $(document).ready(function() { $("input.text1").val("Enter your search text here"); textFill($('input.text1')); }); function textFill(input){ //input focus text function var originalvalue = input.val(); input.focus( function(){ if( $.trim(input.val()) == originalvalue ){ input.val(''); } }); input.blur( function(){ if( $.trim(input.val()) == '' ){ input.val(originalvalue); } }); } [/sourcecode] 3. 新窗口打开链接(Opening links in a new window) [sourcecode plain="language"] $(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> [/sourcecode] 4. 检测浏览器(Detect browser) [sourcecode plain="language"] $(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 } }); [/sourcecode] 5. 预加载图片(Preloading images) [sourcecode plain="language"] $(document).ready(function() { jQuery.preloadImages = function() { for(var i = 0; i").attr("src", arguments[i]); } } // how to use $.preloadImages("image1.jpg"); }); [/sourcecode] 6. 样式筛选(CSS Style switcher) [sourcecode plain="language"] $(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 // the links <a class="Styleswitcher" href="#" rel="default.css">Default Theme</a> <a class="Styleswitcher" href="#" rel="red.css">Red Theme</a> <a class="Styleswitcher" href="#" rel="blue.css">Blue Theme</a> }); [/sourcecode] 7. 列高度相同(Columns of equal height) [sourcecode plain="language"] $(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")); }); }); [/sourcecode] 8. 字体大小调整(Font resizing) [sourcecode plain="language"] $(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; }); }); [/sourcecode] 9. 返回页面顶部(Smooth(animated) page scroll) [sourcecode plain="language"] $(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> }); [/sourcecode] 11. 获取鼠标的xy坐标(Get the mouse cursor x and y axis) [sourcecode plain="language"] $(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</pre> <div id="XY"></div> <pre> }); [/sourcecode] 12. 验证元素是否为空(Verify if an Element is empty) [sourcecode plain="language"] $(document).ready(function() { if ($('#id').html()) { // do something } }); [/sourcecode] 13. 替换元素(Replace a element) [sourcecode plain="language"] $(document).ready(function() { $('#id').replaceWith('</pre> <div>I have been replaced</div> <pre> '); }); [/sourcecode] 14. 延迟加载(jQuery timer callback functions) [sourcecode plain="language"] $(document).ready(function() { window.setTimeout(function() { // do something }, 1000); }); [/sourcecode] 15. 移除单词(Remove a word) [sourcecode plain="language"] $(document).ready(function() { var el = $('#id'); el.html(el.html().replace(/word/ig, "")); }); [/sourcecode] 16. 验证元素是否存在(Verify that an element exists in jQuery) [sourcecode plain="language"] $(document).ready(function() { if ($('#id').length) { // do something } }); [/sourcecode] 17. 使整个DIV可点击(Make the entire DIV clickable) [sourcecode plain="language"] $(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</pre> <div><a href="index.html">home</a></div> <pre> }); [/sourcecode] 18. id和class切换(Switch between classes or id’s when resizing the window) [sourcecode plain="language"] $(document).ready(function() { function checkWindowSize() { if ( $(window).width() > 1200 ) { $('body').addClass('large'); } else { $('body').removeClass('large'); } } $(window).resize(checkWindowSize); }); [/sourcecode] 19. 克隆对象(Clone a object) [sourcecode plain="language"] $(document).ready(function() { var cloned = $('#id').clone(); // how to use</pre> <div id="id"></div> <pre> }); [/sourcecode] 20. 使元素居中屏幕(Center an element on the screen) [sourcecode plain="language"] $(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(); }); [/sourcecode] 21. 自定义选择器(Write our own selector) [sourcecode plain="language"] $(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'); }); }); [/sourcecode] 22. 统计元素个数(Count a element) [sourcecode plain="language"] $(document).ready(function() { $("p").size(); }); [/sourcecode] 23. 自定义Bullets(Use Your Own Bullets) [sourcecode plain="language"] $(document).ready(function() { $("ul").addClass("Replaced"); $("ul > li").prepend("‒ "); // how to use ul.Replaced { list-style : none; } }); [/sourcecode] 24. 引用google分发的jQuery(Let Google host jQuery for you) [sourcecode plain="language"] //Example 1 <script type="text/javascript" src="http://www.google.com/jsapi"></script><script type="text/javascript">// <![CDATA[ google.load("jquery", "1.2.6"); google.setOnLoadCallback(function() { // do something }); // ]]></script><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></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> [/sourcecode] 25. 禁用jQuery动画(Disable jQuery animations) [sourcecode plain="language"] $(document).ready(function() { jQuery.fx.off = true; }); [/sourcecode] 26. 防止不兼容冲突(No conflict-mode) [sourcecode plain="language"] $(document).ready(function() { var $jq = jQuery.noConflict(); $jq('#id').show(); }); [/sourcecode] 参考推荐: jQuery jQuery UI 14 days of jQuery Learning jQuery Cheatsheet jQuery 1.1.3 Improve your jQuery – 25 excellent tips

站点声明:部分内容源自互联网,为传播信息之用,如有侵权,请联系我们删除。

© Copyright 2011-2024 www.kfju.com. All Rights Reserved.
超级字帖 版权所有。蜀ICP备12031064号