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值。这应该工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top