这是toggle()
函数中的代码段。我有一个标题,当点击时,使下面的标题向下滑动,为点击的标题内容创建空间以淡入。
工作正常,但我在堆栈底部的标题有问题。它下面没有一个标题可以向下移动,因此以下用于淡化内容的功能不会触发。
我想保持标题的一般结构向下滑动,然后触发淡入功能。
$(currentHeader).next('li.header')
.animate({ marginTop: itemHeight + 15 }, 1000, function ()
{
$(this).prev('ul#work-headers li').find('ul').fadeIn(500);
});
非常感谢任何帮助。
答案 0 :(得分:1)
我想说有两个解决方案:
快速而肮脏:
添加空LI标签:
<li class="header" style="display:none;"></li>
或者将代码更改为代码,以便在每个LI&amp;之后将保证金添加到UL或某个div。 UL对。
答案 1 :(得分:0)
我无法真正测试这个,所以你必须弄清楚扭结,但基本的想法是封装你想要的逻辑,这样它就可以与一些不会激发的动画分开调用例。
var fadeIn= function(content) {
$(content).find('ul').fadeIn(500);
}
var next = $(currentHeader).next('li.header');
if(next.length>0) {
next.animate({ marginTop: itemHeight + 15 }, 1000, function ()
{
fadeIn($(this).prev('ul#work-headers li'));
});
}
else {
fadeIn($(this).find('ul#work-headers li'));
}
编辑 - 比如@ Holger的想法更诚实