我想显示文字,同时div是从右到左的动画。
<script>
$(document).ready(function() {
$("#test").animate({
left:'5%',
}, {duration:8000} );
if($('.left').css('left') == '75%') {
alert( "welcome" );
}
});
</script>
这是行不通的:(
答案 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>