這裏是一個jsFiddle showing the problem如果width == 200像素運行功能
我不知道爲什麼這不起作用:
if ($('#menu').width() == '200px') {
alert("what");
}
我想完成的動畫時,出現一個警告。所以我認爲我可以說,動畫完成後,元素的寬度爲200px,它會顯示警報。
這裏是一個jsFiddle showing the problem如果width == 200像素運行功能
我不知道爲什麼這不起作用:
if ($('#menu').width() == '200px') {
alert("what");
}
我想完成的動畫時,出現一個警告。所以我認爲我可以說,動畫完成後,元素的寬度爲200px,它會顯示警報。
檢查更新的小提琴。我所做的是增加了一個「回調」功能,在執行時的動畫完成。
$(this).stop().animate({ width: "200px" }, 250,
function(){if ($('#menu').width() == '200') { alert("what"); } /* Callback Function */
});
jQuery.width返回一個數字。你正在比較一個字符串。
1)你檢查的值在動畫完成之前。
2)你寬度值將是 「200」 而不是 「200像素」
這裏是jQuery文檔。您需要在代碼的回調部分執行檢查。
$('#clickme').click(function() {
$('#book').animate({
opacity: 0.25,
left: '+=50',
height: 'toggle'
}, 5000, function() {
// Animation complete. <---- your value check code goes here
});
});
.width()
應該返回一個數字,而不是一個 「###像素」 的價值,嘗試if ($('#menu').width() == 200) {
。
哦,你看,如果聲明發生在動畫完成之前,因此它永遠不會是真實的。而應該添加一個回調'.animate'動畫完成時運行。 '.animate({選項},callbackFunction參數)' – 2013-02-28 19:49:04