2

我有以下脚本 - 我有一个菜单,当用户单击“关于”时,菜单消失,并且出现一些动画 div,当用户单击任何我希望动画 div 消失的地方,菜单重新出现. 动画使用 x = setinterval(blabla) 重新启动,如果 x 不为 0,则应该在 document.click 任意位置停止。

问题是它显示了一秒钟并在单击“关于”后立即停止

jsfiddle - http://jsfiddle.net/EgtqF/

这里:

 $('#about').click(function(){
        $('#menu div').fadeToggle(1000);
        $('#credits').fadeToggle(1000);
        refreshId = setInterval(function(){
            $('#credits').animate({'bottom':'100%'},5000,'linear',
                function(){
                    $('#credits').css({'bottom':'0%'})})},
            1000);
    });

    $(document).click(function(){
            if(refreshId != 0){
                clearInterval(refreshId);
                $('#credits').fadeToggle(100);
                $('#menu div').fadeToggle(100);
                refreshId = 0;
            }
        });

我怎样才能让它工作?

4

1 回答 1

3

event.stopPropagation()从您的点击处理程序发出一个#about以确保click事件不会冒泡到您的document对象。

$('#about').click(function(e){
   e.stopPropagation();
   // ...
   return false;
});
于 2012-09-10T10:54:05.647 回答