Jquery/Javascript动画问题
嗨,我有一个div,它的宽度是用jquery增加的。我想当宽度达到100%时做点什么Jquery/Javascript动画问题,javascript,jquery,Javascript,Jquery,嗨,我有一个div,它的宽度是用jquery增加的。我想当宽度达到100%时做点什么 $(function() { $('.play').click(function() { $('.loader').animate({ width: "100%" },1500); $('.video img').attr('src','css/images/movie-click.jpg') $(this).hide(); if($('.loa
$(function() {
$('.play').click(function() {
$('.loader').animate({
width: "100%"
},1500);
$('.video img').attr('src','css/images/movie-click.jpg')
$(this).hide();
if($('.loader').width()==$('.video img').width()) {
$('.video img').attr('src','css/images/movie.jpg')
}
});
if语句中的某些内容不正确。如果有人能帮我。我的想法是检查with是否为100%,如果是,则一切恢复正常。(播放待显示,宽度=0%,img attr不同。)使用
完成
回调在动画完成后执行代码:
$('.play').click(function () {
$('.loader').animate({
width: "100%"
}, 1500, function() {
// any code here will run only after the animation is complete
$('.video img').attr('src', 'css/images/movie.jpg');
});
// any code here will run as soon as the animation starts,
// before it's completed
});
动画完成后,使用中的
complete
回调执行代码:
$('.play').click(function () {
$('.loader').animate({
width: "100%"
}, 1500, function() {
// any code here will run only after the animation is complete
$('.video img').attr('src', 'css/images/movie.jpg');
});
// any code here will run as soon as the animation starts,
// before it's completed
});
click函数中的代码只调用一次,因此if语句不会在动画中连续运行。相反,只需在完成后将该逻辑添加到回调:
$('.loader').animate({
width: "100%"
},1500,swing, function() {
$('.video img').attr('src','css/images/movie.jpg');
});
click函数中的代码只调用一次,因此if语句不会在动画中连续运行。相反,只需在完成后将该逻辑添加到回调:
$('.loader').animate({
width: "100%"
},1500,swing, function() {
$('.video img').attr('src','css/images/movie.jpg');
});
if语句中的某些内容不正确
事实上:-)您当前的代码只是比较两个.width()
调用返回的css值,这当然是错误的
这不是等待动画的方式。动画代码是异步的,您的animate()
调用只会启动动画,但会立即返回(并继续隐藏按钮和评估条件)
相反,将回调函数传递给,它将在动画完成时执行:
$(function() {
$('.play').click(function() {
$(this).hide();
var $img = $('.video img');
$img.attr('src','css/images/movie-click.jpg');
$('.loader').animate({
width: "100%"
}, 1500, function() {
// executed after the animation
$img.attr('src','css/images/movie.jpg');
});
});
});
if语句中的某些内容不正确
事实上:-)您当前的代码只是比较两个.width()
调用返回的css值,这当然是错误的
这不是等待动画的方式。动画代码是异步的,您的animate()
调用只会启动动画,但会立即返回(并继续隐藏按钮和评估条件)
相反,将回调函数传递给,它将在动画完成时执行:
$(function() {
$('.play').click(function() {
$(this).hide();
var $img = $('.video img');
$img.attr('src','css/images/movie-click.jpg');
$('.loader').animate({
width: "100%"
}, 1500, function() {
// executed after the animation
$img.attr('src','css/images/movie.jpg');
});
});
});
因此,您希望它在动画期间显示
电影点击.jpg
,然后隐藏播放按钮并显示电影.jpg
?因此您希望它在动画期间显示电影点击.jpg
,然后隐藏播放按钮并显示电影.jpg
?