我有动态加载的内容。由于它的动态特性,需要以下列方式调用此内容。
如果没有使用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');
答案 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
是错误的。