延迟mouseenter功能

时间:2014-05-08 09:39:14

标签: jquery function hover delay mouseenter

我知道有很多关于这个的问题,但我无法让它与我的脚本一起工作。

我想暂停我的悬停效果一瞬间,以便在屏幕上移动指针时我的按钮不会抽搐。

我试过像这样的setTimeout:

$("#picnav ul li a").mouseenter(function () {

   setTimeout(function() {

      $(this).animate({ 
        'padding-top' : 191,
        'padding-right' : 0, 
        'padding-bottom' : 60, 
        'padding-left' : 0  
        }, '3000', "easeInOutQuint");

    }, 500);

    }).mouseleave(function () {
      $(this).animate({ 
        'padding-top' : 60,
        'padding-right' : 0,
        'padding-bottom' : 191,
        'padding-left' : 0,
      }, '3000', "easeInOutQuint");
});

但是我一直收到“无法使用''运算符'来搜索未定义的'paddingTop'”

我在这里缺少什么?

如果您想查看网站,可以here

1 个答案:

答案 0 :(得分:3)

setTimeout中的

$(this)不会引用实际元素

你可以让它像这样工作 -

$("#picnav ul li a").mouseenter(function () {
   var $this = $(this);
   setTimeout(function() {
      $this.animate({