这是一个显示问题的jsFiddle
我不确定为什么这不起作用:
if ($('#menu').width() == '200px') {
alert("what");
}
我希望在动画完成时出现警报。所以我假设我可以说,当动画完成后,元素的宽度为 200px,它会显示警报。
这是一个显示问题的jsFiddle
我不确定为什么这不起作用:
if ($('#menu').width() == '200px') {
alert("what");
}
我希望在动画完成时出现警报。所以我假设我可以说,当动画完成后,元素的宽度为 200px,它会显示警报。
1)您在动画完成之前检查值。
2)您的宽度值将是“200”而不是“200px”
这是 jQuery 文档。您需要在代码的回调部分执行检查。
$('#clickme').click(function() {
$('#book').animate({
opacity: 0.25,
left: '+=50',
height: 'toggle'
}, 5000, function() {
// Animation complete. <---- your value check code goes here
});
});
jQuery.width返回一个数字。您正在与字符串进行比较。
检查更新的小提琴。我所做的是添加了一个“回调”函数,该函数在动画完成时执行。
$(this).stop().animate({ width: "200px" }, 250,
function(){if ($('#menu').width() == '200') { alert("what"); } /* Callback Function */
});
.width()
应该返回一个数字,而不是 "###px" 值, Try if ($('#menu').width() == 200) {
。