为什么我的滑动内容会在一次后继续运行?

时间:2011-02-02 19:00:02

标签: javascript jquery

This is my blog,如果您坐了几秒钟并观看“音频”磁贴,它就会移动。另一块瓷砖上写着“猫”。 “Cat”将向左滑动,“Audio”将重新出现,然后“Audio”将向左滑动。然而,在此之后,音频永远不再出现,而是继续前进。我取消了音乐播放器,因此你可以继续观看音乐播放器。我的javascript出现这种情况有什么问题?

另外,我如何更改javascript以便Audio向左滑动,Cat从右侧进入,但cat会向右滑动,Audio会从左侧滑入?

<script type="text/javascript">
var swap = false;
var w = 125;
var h = 115;    
var i = 0;
var x = 0;
var q = 1;
var t;

window.onload=function(){
    i = initPortfolio();
    setTimeout("portfolioRotate()",2000);
}

function initPortfolio(){

    $('.portfolio-item').each(function(index){i = i+1;});
    for(var n=1;n<=i;n=n+1){
        lpos = w * n - w;
        $('#item-'+n).css('left',lpos);
    }

    $('.offs').css('display','block');
    x =  i * w - w;
    return i;
}

function portfolioRotate(){
    swap = false;
    $('.portfolio-item').delay(4000).animate({left:'-='+w},500,function(){
        nn = this.id.split("-")[1];
        if(q==nn && swap==false){
            $('#item-'+q).css('left',x);
            if(q<i){q=q+1}else;
            swap = true;
            u=setTimeout("portfolioRotate()",4000);
        }
    });
}
</script>

1 个答案:

答案 0 :(得分:0)

每次调用portfolioRotate时,您可能不希望将swap设置为false。这使得if语句始终为真。