0
私はあなたの助けが必要です。
私のコードで何が問題なのかわかりませんが、最初の読み込みで関数は正しく動作しますが、ウィンドウのサイズを変更すると関数が正しく動作しません。私はまた、ワードプレスのフレームワークを使用してい
var firedData = true;
var pcNavigation = function() {
$('body').find('.appendNavClick').remove();
};
var appendToggleButton = function() {
$('nav').find('a[href^="#toggle"]').remove();
$.each($('.navigation > li'), function(i, value) {
if($(value).children('.sub-menu').length == 1) {
var styleString = 'style="position: absolute; right: 0; top: 1px; background: #232323;"';
$('<a class="appendNav appendNavClick" href="#toggle" '+ styleString +'><span></span></a>').insertAfter($(value).children('a'));
}
});
};
var spNavigation = function() {
appendToggleButton();
$('body').delegate('#menu-main-navigation li > a[href^="#toggle"]', 'click', function(e) {
e.preventDefault();
var self = $(this),
nextSelector = self.next();
if(self.parent('li').siblings().find('a[href^="#toggle"]').next().is(':visible')) {
self.parent('li').siblings().find('a[href^="#toggle"]').toggleClass('sub-menu-open').next().slideUp();
}
self.toggleClass('sub-menu-open');
nextSelector.stop().slideToggle();
});
};
var initResponsive = function() {
let getResponsive = $(window).width();
$('.navigation li .sub-menu').removeAttr('style');
if(getResponsive < 767) {
spNavigation();
} else {
pcNavigation();
}
};
initResponsive();
$(window).bind('resize', function() {
initResponsive();
});
は、ここに私のJSです。
jQuery
のbind()
とunbind()
機能を使用してこれを解決しましたか?あなたのコンソールに何かエラーがありますか? – Philウィンドウのサイズを変更した後に 'spNavigation()'エラーが出ない –
ウィンドウのサイズを変更した後にjqueryのslideToggle()が動作しません –