我正在为手机创建一个子菜单,并通过js添加图标,并在窗口调整大小上一次又一次地添加
function adjustDropdown() {
var deviceWidth = $(document).width();
if(deviceWidth <= '991') {
$('#menu li: has(ul)').addClass('hassub');
$('#menu')find('.hassub > a').prepand('<span class="dropdown-icon"><i class="rc-icon-angle-down"></i></span>');
$('.hassub > span').click(function() {
$(this).next('ul').toggle();
}
);
}
}
$(function() {
adjustDropdown();
var resizeTimer = adjustDropdown;
$(window).resize(function() {
clearTimeout(resizeTimer);
//ignore previous trigger
resizeTimer= setTimeout(function() {
//wait to execute handler again
//execute actual handler here
console.log('Resized finished.');
adjustDropdown();
}
, 150);
}
);
}
);
调整窗口大小时,它不会多次追加
答案 0 :(得分:0)
我建议您使用javascript linter来验证javascript / jQuery并检测出愚蠢的错误。我不希望上面的代码在所有的时间都可以正常工作。
您的jQuery css-selector应该是: #menu li:has(ul)没有空格(通常情况相反,除非您的li内有另一个ul。
第二行jQuery有多个错误: 使用$()。find代替$()find 其.prepend而不是.prepand
依此类推...