0

这是我的 javascript

$(document).ready(function(){
        $('.frontpageimg').click(function(){
            $(this).data('clicked', true);
        });
        if('.frontpageimg').data('clicked') {
            $('#imagepos').slideUp(2000).fadeOut(2000);
            $('#contentpos').slideUp(2000).fadeIn(2000);
        } else {
            $('#imagepos').delay(8000).slideUp(2000).fadeOut(2000);
            $('#contentpos').delay(8000).slideUp(2000).fadeIn(5000);
        }
    });

该网站会在延迟后显示主要内容,这是应该发生的。但是,我希望用户能够通过单击图像来跳过等待并激活较短的动画。目前“其他”部分下的所有内容都有效,但单击图像时没有任何反应。

编辑:我已经更改了代码以试图让事情正常进行,但仍然没有按照我的意愿去做。

$(document).ready(function(){
        $('#imagepos').delay(8000).slideUp(2000).fadeOut(2000);
        $('#contentpos').delay(8000).slideUp(2000).fadeIn(5000);    
    });
    $('#frontpageimg').click(function(){
                $('div:animated').stop();
                $('div:animated').clearQueue();
                $('#imagepos').slideUp(2000).fadeOut(2000);
                $('#contentpos').slideUp(2000).fadeIn(2000);
            });
4

1 回答 1

3

您正在尝试更改其行为的函数(在单线程环境中仅调用一次)中绑定点击处理程序。

您最好尝试从 cluck 处理程序取消或修改动画序列(如果它仍在运行),或者,您可以让动画序列检查按钮是否已被单击

于 2012-08-29T22:42:30.393 回答