调整窗口大小时跨度追加多个时间

时间:2019-02-18 11:58:59

标签: jquery

我正在为手机创建一个子菜单,并通过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);
    }

    );
}

);

调整窗口大小时,它不会多次追加

1 个答案:

答案 0 :(得分:0)

我建议您使用javascript linter来验证javascript / jQuery并检测出愚蠢的错误。我不希望上面的代码在所有的时间都可以正常工作。

您的jQuery css-selector应该是: #menu li:has(ul)没有空格(通常情况相反,除非您的li内有另一个ul。

第二行jQuery有多个错误: 使用$()。find代替$()find 其.prepend而不是.prepand

依此类推...