今天遇到一个十分蛋疼的问题,花了我一个多小时才解决,其实十分简单,但我是新手,好了,事情是这样的:

我想让鼠标停留在某个元素一定时间再显示它隐藏的内容(不然你鼠标快速滑上滑下,反反复复,如果碰上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的问题解决方案的更多相关文章

  1. 在Java 线程中返回值的用法

    http://icgemu.iteye.com/blog/467848 在Java 线程中返回值的用法 博客分类: Java Javathread  有时在执行线程中需要在线程中返回一个值:常规中我们 ...

  2. Lua中返回值的丢失问题

    Lua中返回值的丢失问题 -- 如果函数调用所得的多个返回值是另外一个函数的最后一个参数,或者是多指派表达式中的最后一个参数时,所有返回值将被传入或使用. -- 否则只有第一个返回值被使用或指定. T ...

  3. Java中返回值定义为int类型的 方法return 1返回的是int还是Integer&&finally中return问题

    在Java中返回值定义为int类型的 方法return 1:中返回的是Integer值,在返回的时候基本类型值1被封装为Integer类型. 定义一个Test类,在异常处理try中和finally中分 ...

  4. C#中返回值封装

    在平时开发过程中常常需要取一个方法的返回值,BOSS写了一个返回值类,做个练习以备不时之需: 返回值支持泛型和非泛型 先贴上代码: 非泛型返回值类: using System; using Syste ...

  5. ABAP SY-SUBRC 使用过程中返回值的几种含义

    当进行Debug的时候,经常会遇到"SY-SUBRC"的返回值.具体如何使用.在各种语句下返回值. ================= FUNCTION MODULE (或RFC中 ...

  6. IOS开发中返回值为null时的处理

    在IOS开发中,如果得到了null返回值很容易造成程序崩溃,null和nil的判断方法不同. nil的判断方法: if(data==nil) {      NSLog(@"data is n ...

  7. C++中返回值

    函数的返回值用于初始化在调用函数是创建的临时对象. 1.返回值为非引用类型: 会将函数的返回值复制给临时对象.跟实参初始化形参的方式一样. 2.返回值为引用类型: 没有复制返回值,返回的是对象本身.返 ...

  8. Java中返回值的详解

    package com.company; //java中main()函数中调用其他方法的两种方式//1.实例化对象 public class returnDemo { public static vo ...

  9. C#调用C++ dll中返回值为字符串的函数问题

    C#调用C++ dll函数,如果返回值为字符串,我们使用string去接收就会报错,因为C++返回的是char*,是个指针,所以c# 要用 IntPtr 来接收. C++: //预编译的标头 .h e ...

随机推荐

  1. Findbugs分析工具介绍

    Findbugs是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.Findbugs自带检测器,其中有60余种Bad practice,80余种Correct ...

  2. JS 封装一个求数组最大值的函数

    var aa = [1,2,3,4,9,2,5]; z(aa); function z(attr){ var b = 0 for(var i =1;i<aa.length;i++){ if(aa ...

  3. sublim Text3 配置python3环境

    一.安装Sublime Text 3 1.双击下载的.exe文件安装,安装路径不要有中文目录 2.安装Sublime Text 3时,勾选“Add to explorer context menu”, ...

  4. C++基础 (8) 第八天 数组指针 模板指针 C语言中的多态 模板函数

    1昨日回顾 2 多态的练习-圆的图形 3多态的练习-程序员薪资 4员工管理案例-抽象类和技术员工的实现 employee.h: employee.cpp: technician.h: technici ...

  5. [JSOI2018]战争(闵可夫斯基和)

    害怕,可怜几何题 果然不会 题目就是说给你两个凸包,每次询问给你一个向量 \(c\) 问你能不能从两个凸包 \(A\) , \(B\) 里分别找到一个点 \(a\) , \(b\) 满足 \(a+c= ...

  6. 训练1-P

    一个矩形的面积为S,已知该矩形的边长都是整数,求所有满足条件的矩形中,周长的最小值. 例如:S = 24,那么有{1 24} {2 12} {3 8} {4 6}这4种矩形,其中{4 6}的周长最小, ...

  7. SCOI2003 严格N元树

    SCOI2003 严格N元树 Description 如果一棵树的所有非叶节点都恰好有n个儿子,那么我们称它为严格n元树.如果该树中最底层的节点深度为d (根的深度为0),那么我们称它为一棵深度为d的 ...

  8. matplotlib 显示两张图片,折线图 和 scipy

    显示两张图片的代码: import numpy as np from scipy.misc import imread, imsave, imresize import matplotlib.pypl ...

  9. VirtualBox扩展包安装教程|VirtualBox扩展增强包怎么安装

    VirtualBox是一款功能强大的免费虚拟机软件,一般我们安装VirtualBox后要安装扩展增强包,VirtualBox扩展包包含USB2.0和USB3.0控制等支持功能,如果没有装,在使用过程中 ...

  10. BA-siemens-PXM液晶面板

    PXM面板作用:可以查看模块内部的信息,可以触发控制点来近程控制模块上的点位(非常便于现场调试). 优点:1.便于现场紧急控制,有些地方是必须要加上的,如工厂控制等项目,假如机器死机,可以通过面板切换 ...