多个功能同时运行

时间:2014-12-04 15:01:47

标签: jquery

我想显示文字,同时div是从右到左的动画。

<script>
$(document).ready(function() {
    $("#test").animate({
                left:'5%',
    }, {duration:8000} );
    if($('.left').css('left') == '75%') {
        alert( "welcome" );
    }
  });
</script>

这是行不通的:(

2 个答案:

答案 0 :(得分:0)

警报停止代码的执行,而不是警告,尝试使用绝对或静态文本的div。然后显示或隐藏它。

在你的代码中,animate函数将在一个线程中运行(javascript没有线程概念,但在内部它与线程一起工作)然后if块只执行一次。

如果要在动画中间显示某些内容,则会有一个用于显示进度的进度方法。你可以使用它。它在jQuery 1.8 +

中可用
$(document).ready(function() {
    $("#test").animate({
                left:'5%',
    }, {
         duration:8000,
         progress: function(a, p, c ) {
             if(p==0.75)          
                console.log('welcome')
         }
    } );

  });

答案 1 :(得分:0)

由于使用alert会暂停脚本执行,我会尝试使用console.log(您可以在开发人员工具中的chrome控制台窗口中查看此内容。

<script>
$(document).ready(function() {
    $("#test").animate({
                left:'5%',
    }, {duration:8000} );
    if($('.left').css('left') == '75%') {
        //alert( "welcome" );
        console.log("welcome");

    }
  });
</script>