jQuery的预防没有打破我的下拉重复动画?
-
19-09-2019 - |
题
http://mmowned.org/dragon/slm/menu9.html
在试图解决该动画在旧版本(menu7.html)我尝试使用.stop()在下拉菜单中queing。 问题是,当你“停止”下拉到一半,然后再启动它,它打破了菜单,只有向后延伸到停止的地方:/
我敢肯定,这是非常简单的,但我该如何解决这个问题?
$(document).ready(function() {
var nid=["bottom","nav","news","wow","emu","war","aoc","diablo","prog","trade"];
$('li.navhead2').click(function () {
var id = $(this).attr('id')
var query = jQuery.inArray(id, nid)
if (query !== -1 && query !== 0)
{
$("#menu"+query).slideFadeToggle('slow');
if (query !== 1 && query !== 0)
{
$(this).toggleClass("clicked");
}
else
{
$(this).toggleClass("clicked1");
}
}
else if (query === 0)
{
$("[id^=menu]").not("#menu1").slideUp('fast');
$("li.navhead2").removeClass("clicked");
}
});
slide("#sliding-navigation", 160, 182, 150, .8);
});
jQuery.fn.slideFadeToggle = function(speed, easing, callback) {
return this.stop().animate({opacity: 'toggle', height: 'toggle', queue:false}, speed, easing, callback);
};
幻灯片功能的工作原理我怎么想,但下拉不(符如前所述),并由于某种原因,我的toggleclass不工作或者(但它是旧版本)
解决方案
您使用toggle
价值的height
参数。结果
还允许用户通过再次点击它(.stop()
一部分)以中断的动画。
如果动画过程中我打断它(让我们以他的身高50%的受访者),在接下来的叫我的动画会从50%到0.我的下一个会去从0到50%。
停止文档指出,你可以指定阉羊以清除队列和/或至后藤动画的末尾。这些都是你的情况。
jQuery.fn.slideFadeToggle = function(speed, easing, callback) {
return this.stop(true,true).animate({opacity: 'toggle', height: 'toggle', queue:false}, speed, easing, callback);
};
注意加入到停止两个true
值。这应该工作。
不隶属于 StackOverflow