2016-06-08 78 views
-3

這段代碼很完美,但我需要它在我打開瀏覽器時工作。此外,當我調整我的瀏覽器的移動菜單兩個功能的工作懸停和切換。需要關於這個jQuery代碼的幫助

$(window).on('resize', function(event) { 
    var windowWidth = $(window).width(); 
    if (windowWidth < 1024) { 
    $(document).ready(function() { 
     $(".menu-item-has-children").hover(function() { 
     $(".sub-menu").css("display", "block"); 
     }, function() { 
     $(".sub-menu").css("display", "none"); 
     }); 
    }); 
    } else if (windowWidth > 1024) { 
    jQuery(document).ready(function() { 
     $('.menu-item-has-children').click(function() { 
     $(this).find('.sub-menu').toggle(); 
     }); 
    }); 
    } 
}); 
+2

當調整您的瀏覽器此代碼應該運行。什麼是不工作,你有什麼嘗試? –

回答

1

我的最好的方法將被替代代碼:

var reszFn = function(event) { 
    var windowWidth = $(window).width(); 
    if (windowWidth < 1024) { 
    $(document).ready(function() { 
     $(".menu-item-has-children").hover(function() { 
     $(".sub-menu").css("display", "block"); 
     }, function() { 
     $(".sub-menu").css("display", "none"); 
     }); 
    }); 
    } else if (windowWidth > 1024) { 
    jQuery(document).ready(function() { 
     $('.menu-item-has-children').click(function() { 
     $(this).find('.sub-menu').toggle(); 
     }); 
    }); 
    } 
}; 
$(document).on('ready', reszFn); 
$(window).on('resize', reszFn); 
+0

謝謝但是,當我調整我的瀏覽器有懸停和切換,當我在1024像素寬度下我想只有切換功能。 –

+0

@ViktorPetkovski你不應該在裏面使用'docReady'代碼,因爲doc已經準備好了,所以它不會被執行。你需要考慮使用'.off()。on()'。只要刪除'docReady'行。 –

+0

我刪除docReady行但現在但是是一樣的。你可以重新編輯代碼,因爲我卡住了。 :( –

0

就觸發調整大小功能

$(window).on('resize', function(event) { 
    var windowWidth = $(window).width(); 
    if (windowWidth < 1024) { 
    $(document).ready(function() { 
     $(".menu-item-has-children").hover(function() { 
     $(".sub-menu").css("display", "block"); 
     }, function() { 
     $(".sub-menu").css("display", "none"); 
     }); 
    }); 
    } else if (windowWidth > 1024) { 
    jQuery(document).ready(function() { 
     $('.menu-item-has-children').click(function() { 
     $(this).find('.sub-menu').toggle(); 
     }); 
    }); 
    } 
}).resize();