我创建了一个动画,单击后从右侧滑动div。它具有关闭按钮,可将其恢复到原始位置。但是,我无法重复该动画。即,在第二次单击上动画不起作用。这是我尝试过的jQuery。

    <script type="text/javascript">
$(document).ready(function() {

$elem1 = $('#myFirstElement');
$elem2 = $('#mySecondElement');
var scrollState = 'top';

$("#ongoing").toggle(function(){

    var scrollPos = $(window).scrollTop();

    if( ( scrollPos != 0 ) && ( scrollState === 'top' ) ) {
        $elem1.stop().animate({right: '+1px'}, 800);
             scrollState = 'scrolled';
    }
    else if( ( scrollPos === 0 ) && ( scrollState === 'scrolled' ) ) {
         $elem1.stop().animate({right: '-=100%'}, 800);
        scrollState = 'top';
    }

});
});

</script>


请提出解决问题的建议。

最佳答案

您需要使用click事件处理程序,而不是使用toggle方法:

$("#ongoing").click(function(){
//             ^^ not toggle


当您有条件地更改scrollState

关于jquery - jQuery动画没有第二次点击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31715144/

10-11 15:03