在悬停功能中设置超时

时间:2016-04-25 15:10:21

标签: javascript jquery

我有动态加载的内容。由于它的动态特性,需要以下列方式调用此内容。

如果没有使用setTimeout,这完全有效。有没有办法在这种情况下设置0.25秒的超时?

Fiddle https://jsfiddle.net/vuezt9dh/

作品

$(".wrapper").on({
  mouseenter: function() {
    $(this).find('.show-me').slideDown(150);
  },
  mouseleave: function() {
    $(this).find('.show-me').slideUp(0);
  }
}, '.main-page');

不起作用

$(".wrapper").on({
  mouseenter: function() {
    var $this = $(this);
    setTimeout(function() {
      $this.find('.show-me').slideDown(150);
    }, 250);
  },
  mouseleave: function() {
    $(this).find('.show-me').slideUp(0);
  }
}, '.main-page');

1 个答案:

答案 0 :(得分:1)

你的定位是不正确的,我很惊讶这根本不起作用(在我的测试中没有)

演示https://jsfiddle.net/vuezt9dh/2/

应该是:

i = &j

你的$(".main-page").on({ mouseenter: function() { var $this = $(this); setTimeout(function() { $this.find('.show-me').slideDown(150); }, 550); }, mouseleave: function() { $(this).find('.show-me').slideUp(0); } }, '.wrapper'); wrapper是错误的。