jqury中$("#div").index($this)在setTimeoutt中返回值一直是-1的问题解决方案
今天遇到一个十分蛋疼的问题,花了我一个多小时才解决,其实十分简单,但我是新手,好了,事情是这样的:
我想让鼠标停留在某个元素一定时间再显示它隐藏的内容(不然你鼠标快速滑上滑下,反反复复,如果碰上slideDown(),会让电脑反应不过来的),刚开始代码如下:
var tid = 0;
$( ".header_middle ul li" ).hover( function() { tid = setTimeout( function() {
$(".hm_con_1 ").slideDown(250);
var $t=$(this);
var $t_index=$t.index();
$(".hm_con_1 ul ").hide().eq($t_index).show(); }, 100 );
}, function() {
clearTimeout( tid );//当在1秒内退出了hover事件就取消计时代码
} );
$(".content1").mouseover(function () {
$(".hm_con_1").slideUp(250);
})
$(".header,.menu,.top").mouseover(function (e) {
if ($(e.target).closest(".header_middle ul li").length === 0) {
$(".hm_con_1").slideUp(250);
}
})
但结果是this一直获取不到鼠标hover的元素的值,$t_index返回的都是-1,最后才反现
原生态函数中使用jQuery中的 $(this)无效(好吧,我也不知道什么是原生态函数),
所以,
只能把var $t=$(this);拿到外面去定义了
var tid = 0;
$( ".header_middle ul li" ).hover( function() {
var $t=$(this);
tid = setTimeout( function() {
$(".hm_con_1 ").slideDown(250);
var $t_index=$t.index();
$(".hm_con_1 ul ").hide().eq($t_index).show(); }, 100 );
}, function() {
clearTimeout( tid );//当在1秒内退出了hover事件就取消计时代码
} );
$(".content1").mouseover(function () {
$(".hm_con_1").slideUp(250);
})
$(".header,.menu,.top").mouseover(function (e) {
if ($(e.target).closest(".header_middle ul li").length === 0) {
$(".hm_con_1").slideUp(250);
}
})
jqury中$("#div").index($this)在setTimeoutt中返回值一直是-1的问题解决方案的更多相关文章
- 在Java 线程中返回值的用法
http://icgemu.iteye.com/blog/467848 在Java 线程中返回值的用法 博客分类: Java Javathread 有时在执行线程中需要在线程中返回一个值:常规中我们 ...
- Lua中返回值的丢失问题
Lua中返回值的丢失问题 -- 如果函数调用所得的多个返回值是另外一个函数的最后一个参数,或者是多指派表达式中的最后一个参数时,所有返回值将被传入或使用. -- 否则只有第一个返回值被使用或指定. T ...
- Java中返回值定义为int类型的 方法return 1返回的是int还是Integer&&finally中return问题
在Java中返回值定义为int类型的 方法return 1:中返回的是Integer值,在返回的时候基本类型值1被封装为Integer类型. 定义一个Test类,在异常处理try中和finally中分 ...
- C#中返回值封装
在平时开发过程中常常需要取一个方法的返回值,BOSS写了一个返回值类,做个练习以备不时之需: 返回值支持泛型和非泛型 先贴上代码: 非泛型返回值类: using System; using Syste ...
- ABAP SY-SUBRC 使用过程中返回值的几种含义
当进行Debug的时候,经常会遇到"SY-SUBRC"的返回值.具体如何使用.在各种语句下返回值. ================= FUNCTION MODULE (或RFC中 ...
- IOS开发中返回值为null时的处理
在IOS开发中,如果得到了null返回值很容易造成程序崩溃,null和nil的判断方法不同. nil的判断方法: if(data==nil) { NSLog(@"data is n ...
- C++中返回值
函数的返回值用于初始化在调用函数是创建的临时对象. 1.返回值为非引用类型: 会将函数的返回值复制给临时对象.跟实参初始化形参的方式一样. 2.返回值为引用类型: 没有复制返回值,返回的是对象本身.返 ...
- Java中返回值的详解
package com.company; //java中main()函数中调用其他方法的两种方式//1.实例化对象 public class returnDemo { public static vo ...
- C#调用C++ dll中返回值为字符串的函数问题
C#调用C++ dll函数,如果返回值为字符串,我们使用string去接收就会报错,因为C++返回的是char*,是个指针,所以c# 要用 IntPtr 来接收. C++: //预编译的标头 .h e ...
随机推荐
- 完整安装sqlserver always on集群
准备工作 1. 四台已安装windows server 2008 r2 系统的虚拟机,配置如下: CPU : 1核 MEMORY : 2GB DISK : 40GB(未分区) NetAdapter ...
- C# 4.0新加特性
协变和逆变 这个在C#2.0中就已经支持委托的协变和逆变了,C#4.0开始支持针对泛型接口的协变和逆变: IList<string> strings = new List<strin ...
- 数组、ArrayList、HashTable
相同点:都可以存储一组数据 不同点: 1)数组,必须要先分配空间,存储数据固定 2)ArrayList,存储数据可以自由扩展 3)HashTable与ArrayList一样,但是它是有意义的,键值对形 ...
- Ubuntu安装配置Python.pyDev
一:安装ECLipse Eclipse官网下载软件tar包: 使用解压命令: sudo tar xzvf xxxxx.tar.gz -c /opt/ 创建快捷方式到桌面. 二:安装python-Num ...
- 企业级任务调度框架Quartz(7) 线程在Quartz里的意义(1)
1.Java 中的线程 线程允许程序同一时间做很多任务,至少,看起来那些任务是并发执行的.在我的并发编程的帖子里有介绍线程的基本概念:我们知道在任一特定时刻仅有一个线程 在执行,但是 CPU ...
- pycharm安装以及简单使用教程
https://www.cnblogs.com/jin-xin/articles/9811379.html 以windows版本举例: 1.首先去Pycharm官网,或者直接输入网址:http:/ ...
- luogu 3467 [POI2008]PLA-Postering 单调栈
题目描述: Description N个矩形,排成一排. 现在希望用尽量少的矩形海报Cover住它们. Input 第一行给出数字N,代表有N个矩形.N在[1,250000] 下面N行,每行给出矩形的 ...
- python中的全局变量、局部变量、实例变量
1.全局变量:在模块内,在所有函数.类外面. 2.局部变量:在函数内,在类方法内(未加self修饰的) 3.静态变量:在类内,但不在类方法内.[共同类所有,值改变后,之后所有的实例对象也改变] 4.实 ...
- sublime Text3的使用
sublime text百度百科: Sublime Text 是一个代码编辑器,也是HTML和散文先进的文本编辑器.Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python ...
- redis实现集群加主从复制
a)原理 (1)前提背景:如何解决redis横向扩展的问题----redis集群实现方式 (2)介绍redis 集群 ① Redis 集群是一个提供在多个Redis间节点间共享数据的程序集 ② 优势: ...