26个jQuery使用技巧

本文分享了26个实用的jQuery技巧,包括禁用右键点击、预加载图片、字体大小调整等功能,帮助开发者更好地利用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.



1. 禁用右键点击 (Disable right-click)

[javascript]  view plain copy print ?
  1. $(document).ready(function(){  
  2.     $(document).bind("contextmenu",function(e){  
  3.         return false;  
  4.     });  
  5. });  


2. 禁用搜索文本框(Disappearing search field text)

[javascript]  view plain copy print ?
  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. 新窗口打开链接(Opening links in a new window)

[javascript]  view plain copy print ?
  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. 检测浏览器(Detect browser)

[javascript]  view plain copy print ?
  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. 预加载图片(Preloading images)

[javascript]  view plain copy print ?
  1. $(document).ready(function() {  
  2. jQuery.preloadImages = function()  
  3. {  
  4.   for(var i = 0; i<arguments.length; i++)="" {="" jquery("<img="">").attr("src", arguments[i]);  
  5.   }  
  6. }  
  7. // how to use  
  8. $.preloadImages("image1.jpg");  
  9. });  
  10. </arguments.length;>  


6. 样式筛选(CSS Style switcher)

[javascript]  view plain copy print ?
  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" href="default.css" type="text/css">  
  9. // the links  
  10. <a href="#" class="Styleswitcher" rel="default.css">Default Theme</a>  
  11. <a href="#" class="Styleswitcher" rel="red.css">Red Theme</a>  
  12. <a href="#" class="Styleswitcher" rel="blue.css">Blue Theme</a>  
  13. });  


7. 列高度相同(Columns of equal height)

[javascript]  view plain copy print ?
  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. 字体大小调整(Font resizing)

[javascript]  view plain copy print ?
  1. $(document).ready(function() {  
  2.   // Reset the font size(back to default)  
  3.   var originalFontSize = $('html').css('font-size');  
  4.     $(".resetFont").click(function(){  
  5.     $('html').css('font-size', originalFontSize);  
  6.   });  
  7.   // Increase the font size(bigger font0  
  8.   $(".increaseFont").click(function(){  
  9.     var currentFontSize = $('html').css('font-size');  
  10.     var currentFontSizeNum = parseFloat(currentFontSize, 10);  
  11.     var newFontSize = currentFontSizeNum*1.2;  
  12.     $('html').css('font-size', newFontSize);  
  13.     return false;  
  14.   });  
  15.   // Decrease the font size(smaller font)  
  16.   $(".decreaseFont").click(function(){  
  17.     var currentFontSize = $('html').css('font-size');  
  18.     var currentFontSizeNum = parseFloat(currentFontSize, 10);  
  19.     var newFontSize = currentFontSizeNum*0.8;  
  20.     $('html').css('font-size', newFontSize);  
  21.     return false;  
  22.   });  
  23. });  



9. 返回页面顶部(Smooth(animated) page scroll)

[javascript]  view plain copy print ?
  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坐标(Get the mouse cursor x and y axis)

[javascript]  view plain copy print ?
  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. 验证元素是否为空(Verify if an Element is empty)

[javascript]  view plain copy print ?
  1. $(document).ready(function() {  
  2.   if ($('#id').html()) {  
  3.    // do something  
  4.    }  
  5. });  

13. 替换元素(Replace a element)

[javascript]  view plain copy print ?
  1. $(document).ready(function() {  
  2.    $('#id').replaceWith('  
  3. <div>I have been replaced</div>  
  4.   
  5. ');  
  6. });  

14. 延迟加载(jQuery timer callback functions)

[javascript]  view plain copy print ?
  1. $(document).ready(function() {  
  2.    window.setTimeout(function() {  
  3.      // do something  
  4.    }, 1000);  
  5. });  

15. 移除单词(Remove a word)

[javascript]  view plain copy print ?
  1. $(document).ready(function() {  
  2.    var el = $('#id');  
  3.    el.html(el.html().replace(/word/ig, ""));  
  4. });  

16. 验证元素是否存在(Verify that an element exists in jQuery)

[javascript]  view plain copy print ?
  1. $(document).ready(function() {  
  2.    if ($('#id').length) {  
  3.   // do something  
  4.   }  
  5. });  

17. 使整个DIV可点击(Make the entire DIV clickable)

[javascript]  view plain copy print ?
  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切换(Switch between classes or id’s when resizing the window)

[javascript]  view plain copy print ?
  1. $(document).ready(function() {  
  2.    function checkWindowSize() {  
  3.     if ( $(window).width() > 1200 ) {  
  4.         $('body').addClass('large');  
  5.     }  
  6.     else {  
  7.         $('body').removeClass('large');  
  8.     }  
  9.    }  
  10. $(window).resize(checkWindowSize);  
  11. });  


19. 克隆对象(Clone a object)

[javascript]  view plain copy print ?
  1. $(document).ready(function() {  
  2.    var cloned = $('#id').clone();  
  3. // how to use  
  4. <div id="id"></div>  
  5.   
  6. });  


20. 使元素居中屏幕(Center an element on the screen)

[javascript]  view plain copy print ?
  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. 自定义选择器(Write our own selector)

[javascript]  view plain copy print ?
  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. 统计元素个数(Count a element)

[javascript]  view plain copy print ?
  1. $(document).ready(function() {  
  2.    $("p").size();  
  3. });  


23. 自定义Bullets(Use Your Own Bullets)

[javascript]  view plain copy print ?
  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(Let Google host jQuery for you)

[javascript]  view plain copy print ?
  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 src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></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动画(Disable jQuery animations)

[javascript]  view plain copy print ?
  1. $(document).ready(function() {  
  2.     jQuery.fx.off = true;  
  3. });  


26. 防止不兼容冲突(No conflict-mode)

[javascript]  view plain copy print ?
  1. $(document).ready(function() {  
  2.    var $jq = jQuery.noConflict();  
  3.    $jq('#id').show();  
  4. });  


jquery 速查表:



欧姆龙FINS(工厂集成网络系统)协议是专为该公司自动化设备间数据交互而设计的网络通信标准。该协议构建于TCP/IP基础之上,允许用户借助常规网络接口执行远程监控、程序编写及信息传输任务。本文档所附的“欧ronFins.zip”压缩包提供了基于C与C++语言开发的FINS协议实现代码库,旨在协助开发人员便捷地建立与欧姆龙可编程逻辑控制器的通信连接。 FINS协议的消息框架由指令头部、地址字段、操作代码及数据区段构成。指令头部用于声明消息类别与长度信息;地址字段明确目标设备所处的网络位置与节点标识;操作代码定义了具体的通信行为,例如数据读取、写入或控制器指令执行;数据区段则承载实际交互的信息内容。 在采用C或C++语言实施FINS协议时,需重点关注以下技术环节: 1. **网络参数设置**:建立与欧姆龙可编程逻辑控制器的通信前,必须获取控制器的网络地址、子网划分参数及路由网关地址,这些配置信息通常记载于设备技术手册或系统设置界面。 2. **通信链路建立**:通过套接字编程技术创建TCP连接至控制器。该过程涉及初始化套接字实例、绑定本地通信端口,并向控制器网络地址发起连接请求。 3. **协议报文构建**:依据操作代码与目标功能构造符合规范的FINS协议数据单元。例如执行输入寄存器读取操作时,需准确配置对应的操作代码与存储器地址参数。 4. **数据格式转换**:协议通信过程中需进行二进制数据的编码与解码处理,包括将控制器的位状态信息或数值参数转换为字节序列进行传输,并在接收端执行逆向解析。 5. **异常状况处理**:完善应对通信过程中可能出现的各类异常情况,包括连接建立失败、响应超时及错误状态码返回等问题的处理机制。 6. **数据传输管理**:运用数据发送与接收函数完成信息交换。需注意FINS协议可能涉及数据包的分割传输与重组机制,因单个协议报文可能被拆分为多个TCP数据段进行传送。 7. **响应信息解析**:接收到控制器返回的数据后,需对FINS响应报文进行结构化解析,以确认操作执行状态并提取有效返回数据。 在代码资源包中,通常包含以下组成部分:展示连接建立与数据读写操作的示范程序;实现协议报文构建、传输接收及解析功能的源代码文件;说明库函数调用方式与接口规范的指导文档;用于验证功能完整性的测试案例。开发人员可通过研究这些材料掌握如何将FINS协议集成至实际项目中,从而实现与欧姆龙可编程逻辑控制器的高效可靠通信。在工程实践中,还需综合考虑网络环境稳定性、通信速率优化及故障恢复机制等要素,以确保整个控制系统的持续可靠运行。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值