1100px
& 640px
之間,下面的jQuery腳本工作正常:jQuery的addClass()在某些媒體不工作查詢
$('#mobileMenu').click(function(){
if ($('body').hasClass('mobile-nav-open')) {
$('body').removeClass('mobile-nav-open')
} else {
$('body').addClass('mobile-nav-open');
};
});
這樣做是什麼點擊a#mobileMenu
時,一個類被添加到body
並且移動導航菜單滑入,然後該類被移除並且移動導航菜單在另一次點擊時關閉。
但是,如果頁面加載在<=640px
,類.mobile-nav-open
永遠不會被添加到body
。我不能爲了我的生活找出它爲什麼不起作用。此代碼也正通過Squarespace的代碼注入插入到頁腳中。有很多JS打包到模板中,可能會干擾,但我無法弄清楚如何覆蓋它。任何人都可以幫助我?任何幫助表示讚賞。
該網站可以在這裏看到:https://ryan-vandyke-4rks.squarespace.com/
這看起來是我想要重寫:
Y.use(function (a) {
a.on("domready", function() {
if (640 >= a.one("body").get("clientWidth")) a.one("#mobileMenu").on("click", function() {
a.one("body").hasClass("mobile-nav-open") ? a.one("body").removeClass("mobile-nav-open") :
(a.one("body").addClass("mobile-nav-open"), a.one("body.email-open") && a.one("body").removeClass("email-open"), a.one("body.desc-open") && a.one("body").removeClass("desc-open"))
});
})
});
無關,與你的問題,但你爲什麼不只是使用'$(document.body的).toggleClass( '移動導航開');',而不是'if/else'? – jfriend00
@ jfriend00抱歉,我沒有看到如果條件 –
@ jfriend00仍然沒有工作:/但謝謝,我會牢記它。 –