(大家好)我正在尝试创建一个<li>
元素一个接一个地淡入和淡出的场景 -我可以开始工作。
当我将鼠标悬停在<li>
当前正在动画的元素上时,我还试图停止动画过程 -我也可以开始工作。
但是,<li>
一旦将元素设置为 display:none,我就无法显示它,而是我必须等待动画循环播放。
这是我当前的 HTML 标记;
<div id="content">
<li class="one">one</li>
<li class="two">two</li>
<li class="three">three</li>
</div>
但是我想如果我可以将元素嵌套<li>
在一个不会被我的 jQuery 隐藏的元素中,那么<li>
当我将鼠标悬停在<div>
.
建议的标记;
<div id="content">
<div class="wrap"><li class="one">one</li></div>
<div class="wrap"><li class="two">two</li></div>
<div class="wrap"><li class="three">three</li></div>
</div>
但是,使用下面粘贴的我的 jQuery,您可以看到它仅在<li>
元素是 #content 的兄弟元素时才处理元素,而不是在它们嵌套时处理元素。
jQuery(document).ready(function($) {
$('#content li').hide();
InOut($('#content li:first'));
function InOut(elem) {
elem.delay().fadeIn(1500).delay(5000).fadeOut(1500, function() {
if (elem.next().length > 0) {
InOut($(this).next());
}
else {
InOut($(this).siblings(':first'));
}
});
}
$('#content li').mouseover(function() {
$(this).fadeIn(500).stop(true, true);
});
$('#content li').mouseout(function() {
if ($(this).is(":visible") == true) {
InOut($(this));
}
});
});
为了举例,我在下面按顺序创建了当前动画的小提琴;
http://jsfiddle.net/pusher/TuGES/1/
任何帮助总是受到赞赏。
谢谢!