我有个小问题。
$('.item').mouseenter(function() {
setTimeout(function() {
$(this).find('.item-overlay').css('z-index', '-1');
}, 300);
}).mouseleave(function() {
$(this).find('.item-overlay').css('z-index', '');
});
<div class="item">
<div class="item-overlay">
</div>
<iframe>...</iframe>
</div>
一切都很好,除了一件小事。z指数不变。你们能帮帮我吗我也试过“下一个”,“孩子”,“找到”-没有一个工作:(
3条答案
按热度按时间fjnneemd1#
在你传递给
setTimeout
的函数中,this
将是window
,而不是元素。(this
取决于函数的调用方式,而不是函数的使用位置。您可以保存事件处理程序获取的
this
值(或者实际上,当您要对它进行jQuery Package 时,只需在setTimeout
函数外部使用var
即可),例如:eoigrqb62#
你需要绝对定位“.item-overlay”
uxhixvfz3#
我想这不是你的职责。所以,你可以设置var = this;在setTimeout之前。用那个代替这个。