setTimeout内不支持jquery的选择器的解决方案
今天在写一个js延时事件的时候发现在setTimeout这个方法里面使用jquery的$(this)竟然不起作用,各种测试,最后得出结论是setTimeout内不支持jquery的选择器。于是请教了一下QQ上做jquery开发的高手,马上就把这问题解决了,在这里记录一下。
下面是作者做延时处理时的js代码:
$('.dl_select dt').hover( function(){ clearTimeout(t3); $(this).siblings('dd').css({'display':'block','cursor':'pointer'}); }, function(){ t2=setTimeout(function(){$(this).siblings('dd').css({'display':'none'});},300); } ); $('.dl_select dd').hover( function(){ clearTimeout(t2); $(this).css({'display':'block','cursor':'pointer'}); }, function(){ t3=setTimeout(function(){$(this).css({'display':'none'});},200); } );
注意以上代码中得setTimeout里的代码,如果这些代码不在这个方法里面,本身是没有问题的,但是如上这种情况是会报错的。至于原因,作者现在也没有弄明白。经网友点化改成如下就没事儿了,方法很巧妙。如下是正确的代码:
$('.dl_select dt').hover( function(){ clearTimeout(t3); $(this).siblings('dd').css({'display':'block','cursor':'pointer'}); }, function(){ var $this=$(this).siblings('dd'); t2=setTimeout(function(){$this.css({'display':'none'});},300); } ); $('.dl_select dd').hover( function(){ clearTimeout(t2); $(this).css({'display':'block','cursor':'pointer'}); }, function(){ var $this=$(this); t3=setTimeout(function(){$this.css({'display':'none'});},200); } );
以上所述就是本文的全部内容了,希望大家能够喜欢。
相关推荐
-
JQuery中层次选择器用法实例详解
本文实例讲述了JQuery中层次选择器用法.分享给大家供大家参考.具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head
-
jquery表单对象属性过滤选择器实例分析
本文实例讲述了jquery表单对象属性过滤选择器用法.分享给大家供大家参考.具体分析如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &
-
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
本文实例讲述了jQuery创建自定义的选择器用以选择高度大于100的超链接实现方法.分享给大家供大家参考.具体分析如下: jQuery创建一个自定义的选择器,自己定义的这个选择器实际上可以是一个函数,下面的JS代码定义了一个over100pixels的选择器,选择出高度大于100的链接,这类技巧非常实用 $.extend($.expr[':'], { over100pixels: function(a) { return $(a).height() > 100; } }); $('.box:ov
-
jquery通过closest选择器修改上级元素的方法
本文实例讲述了jquery通过closest选择器修改上级元素的方法.分享给大家供大家参考.具体如下: 这段代码演示了jQuery通过closest选择器获取上一级的元素,然后修改其text()内容. <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>
-
Jquery中基本选择器用法实例详解
本文实例讲述了Jquery中基本选择器用法.分享给大家供大家参考.具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head
-
JQuery中上下文选择器实现方法
本文实例讲述了JQuery中上下文选择器实现方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &
-
jquery实现不包含当前项的选择器实例
本文实例讲述了jquery实现不包含当前项的选择器实例.分享给大家供大家参考.具体如下: 这段代码演示了jquery选择所有的链接,点击其中一个链接时,其它的链接都变色,只有当前链接不变色 var $allLinks = $("a"); $allLinks.click(function() { $allLinks.not(this).css("color", "red"); }); 更多关于jquery选择器相关内容感兴趣的读者可查看本站专题:&
-
JQuery选择器、过滤器大整理
经过一晚上的查找整理,终于整理出一套应该算最全面的JQuery选择过滤器的方法了.所有代码均经过测试. 首先HTML代码 复制代码 代码如下: HTML Code <html> <head> <script type="text/javascript" src="JQuery/jquery-1.5.1.js"></script> </head> <body> <form name=&quo
-
setTimeout内不支持jquery的选择器的解决方案
今天在写一个js延时事件的时候发现在setTimeout这个方法里面使用jquery的$(this)竟然不起作用,各种测试,最后得出结论是setTimeout内不支持jquery的选择器.于是请教了一下QQ上做jquery开发的高手,马上就把这问题解决了,在这里记录一下. 下面是作者做延时处理时的js代码: $('.dl_select dt').hover( function(){ clearTimeout(t3); $(this).siblings('dd').css({'display':'
-
jQuery常用选择器详解
本文为大家分享了jQuery常用选择器的具体代码,供大家参考,具体内容如下 1.jQuery:(使用jQuery一定标明我们使用的版本号) 它是一个使用原生的JS来封装的常用的方法的类库(解决了浏览器的兼容问题) 2.jQuery中提供的方法 选择器 通过传递对应规则的内容(ID.标签名.样式类名...),获取到页面中指定的元素/元素集合 <!DOCTYPE html> <html lang="en"> <head> <meta charset
-
jQuery基本选择器和层次选择器学习使用
本文实例为大家分享了jQuery选择器的具体实现代码,供大家参考,具体内容如下 1. 基本选择器 <html> <head> <meta charset="utf-8"> <title>jQuery基本选择器</title> <script type="text/javascript" src="js/jquery-1.x.js"> </script> </
-
jquery 属性选择器(匹配具有指定属性的元素)
jQuery 选择器 在前面的章节中,我们展示了一些有关如何选取 HTML 元素的实例. 关键点是学习 jQuery 选择器是如何准确地选取您希望应用效果的元素. jQuery 元素选择器和属性选择器允许您通过标签名.属性名或内容对 HTML 元素进行选择. 选择器允许您对 HTML 元素组或单个元素进行操作. 在 HTML DOM 术语中: 选择器允许您对 DOM 元素组或单个 DOM 节点进行操作. jQuery 元素选择器 jQuery 使用 CSS 选择器来选取 HTML 元素. $("
-
jQuery层级选择器实例代码
本文实例为大家分享了jQuery层级选择器的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title></title> <link rel="stylesheet" href=&q
-
jQuery过滤选择器:not()方法使用介绍
jQuery(':not(selector)') 在jQuery的早期版本中,:not()筛选器只支持简单的选择器,说明我们传入到:not这个filter中的selector可以任意复杂,比如:not(div a) and :not(div,a) 复制代码 代码如下: <p >"a">sdfsdfs</p> <p >"b">sdfsdfs</p> <p >"c">sdf
-
jQuery过滤选择器详解
过滤选择器 过滤选择器主要是通过特定的过滤规则来筛选出所需的 DOM元素,该选择器都以":"开头 按照不同的过滤规则,过滤选择器可以分为基本过滤,内容过滤,可见性过滤,属性过滤,子元素过滤和表单对象属性过滤选择器. 基本过滤选择器 基本过滤选择器示例 改变第一个 div元素的背景色为 # bbffaa 改变最后一个 div元素的背景色为 # bbffaa 改变class不为 one的所有 div元素的背景色为 # bbffaa 改变索引值为偶数的 div元素的背景色为 # bbffaa
-
老生常谈jquery id选择器和class选择器的区别
实例如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link href="style.css" rel="external nofollow" rel="external nofollow" rel=&
-
jquery css 选择器演示代码
效果如图所示:核心代码: 复制代码 代码如下: <script type="text/javascript"> $('#one').css("background","#fff"); $('div').css("background","#fff"); $('body div').css("background","#bbffaa");//改变body内所
-
jQuery基本选择器(实例及表单域value的获取方法)
jQuery基本选择器包括 CSS选择器.层级选择器和.表单域选择器. 1.CSS选择器 (1)标签选择器 $("div") $("p") $("table") 等一系列 HTML 标签 (2)ID选择器 <input id="user" type="text"> 获取该标记的值:$("#user").val(); (3)类选择器 <input type="
随机推荐
- 一个js实现的所谓的滑动门
- redis字符串类型_动力节点Java学院整理
- Angular 2 利用Router事件和Title实现动态页面标题的方法
- 将两个div左右并列显示并实现点击标题切换内容
- 详解Ubuntu下配置samba实现文件夹共享
- Java根据Request获取客户端IP
- 最简单的Oracle数据恢复 select as of使用方法
- Nginx配置PHP的Yii与CakePHP框架的rewrite规则示例
- JS模拟按钮点击功能的方法
- Android ormlite更改数据库默认位置
- 键盘 keycode的值 javascript时触发事件时很有用的要素
- mysql导出指定数据或部份数据的方法
- python九九乘法表的实例
- javascript实现全角半角检测的方法
- javascript实现Table间隔色以及选择高亮(和动态切换数据)的方法
- Javascript同时声明一连串(多个)变量的方法
- 重构Javascript代码示例(重构前后对比)
- Android定时器Timer的停止和重启实现代码
- php7基于递归实现删除空文件夹的方法示例
- php实现文章置顶功能的方法