Jquery动画不会在第二次单击时发生

时间:2015-07-30 04:24:12

标签: jquery css animation

我创建了一个动画,可以在点击时从右侧滑动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>

请告知如何解决问题。

1 个答案:

答案 0 :(得分:0)

您需要使用点击事件处理程序,而不是使用切换方法:

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

正如您有条件地更改scrollState