在某些宽度问题上删除class和attr

时间:2013-10-09 13:19:34

标签: javascript jquery css twitter-bootstrap

所以,我有一个菜单下降。之后,955(桌面)宽度下拉菜单保持打开使用JavaScript,我无法关闭它,这是我想要的。这很好用,所以在平板电脑上菜单关闭但点击后可以打开,这也是我想要的。

当我手动调整桌面到平板电脑视图的屏幕宽度时出现问题,虽然它低于955菜单保持打开状态但我无法关闭它。请参阅此示例:http://bootply.com/86605

function checkWidth(init) {
    if ($(window).width() > 955) {
        $( "li#add" ).addClass( "open" );
        $('#remove').removeAttr("data-toggle");
    }
}

$(document).ready(function() {
    checkWidth(true);

    $(window).resize(function() {
        checkWidth(false);
    });
}); 

3 个答案:

答案 0 :(得分:0)

我不确定'init'参数是什么,因为它似乎什么都不做,但你需要添加另一个条件并删除'open'类。

function checkWidth(init) {
    if ($(window).width() > 955) {
        $( "li#add" ).addClass( "open" );
        $('#remove').removeAttr("data-toggle");
    } else if($(window).width() < 955) {
        $( "li#add" ).removeClass( "open" );
    }
}

答案 1 :(得分:0)

    function checkWidth() {
        if ($(window).width() > 955) {
            $("li#add").addClass("open");
            $('#remove').removeAttr("data-toggle");
        } else if ($(window).width() < 955) {
            $("li#add").removeClass("open");
            $('#remove').attr("data-toggle","dropdown");
        }
    }

答案 2 :(得分:0)

function checkWidth(init)
{/*If browser resized, check width again */
if ($(window).width() < 640) {
$('.second_menu_mid').addClass('rmm');
}else {if (!init) {  $('.second_menu_mid').removeClass('rmm');
} }}
$(document).ready(function() {
checkWidth(true);
$(window).resize(function() {
checkWidth(false);
});});