添加时间延时后,$(this)如果不定义出来,那么效果就是鼠标移开,li标签class不添加,为什么呢。

qq_vpu3nt17 jQuery 实例:标签切换 最后由 qq_vpu3nt17 于2016年10月07日回复

  • 3 回答
  • 1.3k 浏览
timouid().(() {
().((index) {
liNode = ()liNode.mouseover(() {
timouid = (() {
().()().()().(index).()liNode.()})}).mouseout(() {
(timouid)})})})
  • qq_vpu3nt17 2016年10月07日 回答 #2楼
  • 我可能没有表达明白,我的意思是如果添加了setTimeout之后,如果var liNode = $(this);不定义出来,那么里面的removeClass会有效果,而addClass不起作用,希望您能给我解释下。

    var timeoutid;
    $(document).ready(function () {
    $("#tabfirst li").each(function (index) {
    var liNode = $(this);
    $(this).mouseover(function () {
    timeoutid = setTimeout(function (){
    $("#tabfirst li.tabli").removeClass("tabli");
    liNode.addClass("tabli");
    },200);
    }).mouseout(function () {
    clearTimeout(timeoutid);
    });
    });
    });
  • 0 评论
  • qq_vpu3nt17 2016年10月07日 回答 #3楼
  • #1楼  @极客学院_ASMITA 

    我可能没有表达明白,我的意思是如果添加了setTimeout之后,如果var liNode = $(this);不定义出来,那么里面的removeClass会有效果,而addClass不起作用,希望您能给我解释下。

    var timeoutid;
    $(document).ready(function () {
    $("#tabfirst li").each(function (index) {
    var liNode = $(this);
    $(this).mouseover(function () {
    timeoutid = setTimeout(function (){
    $("#tabfirst li.tabli").removeClass("tabli");
    liNode.addClass("tabli");
    },200);
    }).mouseout(function () {
    clearTimeout(timeoutid);
    });
    });
    });
  • 0 评论