如果點擊功能中陳述我有以下幾點:如果語句的工作控制檯,而不是在源
$('#rent-link').on('click', function() {
$('.house-card:not(.sold)').fadeIn('fast');
$('.for-sale').fadeOut('fast');
$('.rental').fadeIn('fast');
$('.sold').fadeOut('fast');
$('.comm').fadeOut('fast');
if ($('.house-card:visible').length == 0) {
$('#no-results').show();
}
return false;
});
所有的代碼被包裝在一個文檔準備功能,使不能成爲問題。我不知道爲什麼當爲這個if語句設置參數來解決真的時候,它總是會解決錯誤。當我點擊#出租鏈接,然後在控制檯中單獨運行if語句時,它會解析爲真。
感謝您的幫助。
編輯︰
我用settimeout函數更新我的代碼,它的工作。你們是對的,謝謝!
這裏是工作代碼:
$('#rent-link').on('click', function() {
$('.house-card:not(.sold)').fadeIn('fast');
$('.for-sale').fadeOut('fast');
$('.rental').fadeIn('fast');
$('.sold').fadeOut('fast');
$('.comm').fadeOut('fast');
setTimeout(function() {
if ($('.house-card:visible').length === 0) {
$('#no-results').show();
}
}, 500);
return false;
});
您是否能夠在[fiddle](https://jsfiddle.net)中複製該問題? – Yass
也許'fadeOut('fast')'速度不夠快,也就是說,在所有'.house-cards'變得不可見之前,你正在檢查。 – Teemu