尝试将.hover
应用于显示基于动态ID的div的类。例如:
HTML
<div id="parent_one">
<div class="touch" id="one">Touch me!</div>
<div id="t_one"></div>
</div>
<div id="parent_two">
<div class="touch" id="two">Touch me!</div>
<div id="t_two"></div>
</div>
的jQuery
$('.touch').hover(
function(){
var id = $(this).attr('id');
var value = '#t_' + id;
$(value).fadeIn(800);
},
function(){
var id = $(this).attr('id');
var value = '#t_' + id;
$(value).delay(1500).fadeOut(800);
}
);
我觉得我的错误在于$(this)
的使用,但无法确定它。
答案 0 :(得分:5)
此:
var value = 't_' + id;
需要包含#
:
var value = '#t_' + id;
否则,您只是选择标记为t_one
的元素,而该元素不是现有的标记名称。
然而,使用ID非常难看。如果你有这样的一致HTML,为什么不使用这样的类结构:
<div>
<div class="touch-handle">Touch me!</div>
<div class="content"></div>
</div>
这样的JS:
$('.touch-handle').hover(
function(){
$(this).next('.content').fadeIn(800);
},
function(){
$(this).next('.content').delay(1500).fadeOut(800);
}
);