延迟jQuery的handlerOut

时间:2016-02-01 19:47:00

标签: javascript jquery

我使用以下jQuery函数:

def new
   @model = Model.new(visible: true)
end

现在,我想推迟" $( selector ).hover( handlerIn, handlerOut ) "部分,但我似乎无法实现这一点。我尝试过使用handlerOutdelay(),但他们都没有工作。我认为这是一种语法问题。这是我的JS:

setTimeout()

HTML

$(document).ready(function () {
    var menuItem2 = document.getElementById('#menu_item_2');
    var menuItem3 = document.getElementById('#menu_item_3');
    $('#menu_item_2').hover(function () {
        this.style.zIndex = "1";
        menuItem3.style.zIndex = "0";
    });

    $('#menu_item_3').hover(function () {
        this.style.zIndex = "1";
        menuItem2.style.zIndex = "0";
    }, function () {
        $(this).delay(500).style.zIndex = "0";
    });

});

1 个答案:

答案 0 :(得分:1)

我认为你应该把它转换成纯粹的Jquery:

$(document).ready(function () {
    $('#menu_item_2').hover(function () {
        $(this).css({"z-index":1});
        $("#menu_item_3").css({"z-index":0});
    });

    $('#menu_item_3').hover(function () {
        $(this).css({"z-index":1});
        $("#menu_item_2").css({"z-index":0});
    }, function () {
        $(this).delay(2000).css({"z-index" : 0,"background-color" : "red"});
    });
});

尝试一下,看看它是否有效。