0
我有以下代碼,它只允許一組jQuery懸停函數在窗口寬度高於760像素時執行。jQuery .resize處理程序的問題
jQuery(document).ready(function(){
function checkWidth(){
var windowWidth= jQuery(window).width();
if(windowWidth >= 760){
jQuery('.wsite-menu-item-wrap').hover(
function(){
jQuery(this).children(".wsite-menu-wrap").addClass('hover');
}, function(){
jQuery(this).children(".wsite-menu-wrap").removeClass('hover');
});//End Hover
jQuery('.wsite-menu-subitem-wrap').hover(
function(){
jQuery(this).children(".wsite-menu-wrap").addClass('subitem-hover');
}, function(){
jQuery(this).children(".wsite-menu-wrap").removeClass('subitem-hover');
});//End Hover
}//EndIf
}
checkWidth();
jQuery(window).resize(checkWidth);
});
我遇到了一個有趣的錯誤:當我加載頁面的寬度低於760px和調整上面760,它可以作爲計劃:懸停代碼不760下執行,並開始執行以上760.但是,如果我以另一種方式實現 - 加載760以上,然後調整到一個較小的窗口,懸停代碼繼續執行,即使我已將窗口調整到760以下。關於爲什麼會發生這種情況的任何想法?謝謝。
我會認爲,因爲我添加了jQuery(window).resize(checkWidth);在底部,一旦我在760以下運行,它會再次變回false,因爲代碼在每次窗口大小調整時都會執行。 – kdsprogrammer