绑定到resize时删除height属性

时间:2014-10-14 07:31:44

标签: javascript jquery

我已经完成了一个导航,当使用jquery完成移动视图时,该导航会显示完整文档。

我正在尝试取消返回auto的高度,或者只删除上一个jquery中给出的style属性。

但由于某些原因它不起作用,我尝试过一些东西,但它根本不起作用。

如果通过jquery给出了样式属性,你能否取消它?

以下是在移动视图中打开和关闭导航的导航:

// Mobile Navigation Area
jQuery('.menu-icon-mobile').on('click',function(event){

    event.preventDefault();

    var currentId = jQuery(this).attr('id');
    var mobileHeight = jQuery(document).height();

    switch (currentId){

        case 'mobile-nav-open':{

            jQuery('.navigation').animate({height: mobileHeight + "px"}, 400 );
            jQuery(this).attr('id','mobile-nav-close');

        }
        break;

        case 'mobile-nav-close':{

            jQuery('.navigation').animate({height: "0px"}, 400 );
            jQuery(this).attr('id','mobile-nav-open');

        }
        break;

    }

});

这是调整大小的代码,我添加了警告,以显示其绑定,它是:(

//checking if the screen is resized and if it is and the screen is less that 768px wide then cancel the attributes
jQuery(window).resize(function(){

    var thescreen = jQuery(window).width();

    if(thescreen > 768){

        jQuery('.navigaiton').removeAttr('style');

    }

    alert(thescreen);
});

我可以看到它应该可以工作,我唯一能想到的是样式属性在现实生活中不存在,因为它使用jquery完成,所以它无法看到样式属性来删除它。

知道如何删除属性吗?

这是jsfiddle链接:

http://jsfiddle.net/robertg/kn1scc2f/2/

由于

2 个答案:

答案 0 :(得分:4)

你拼错了你的选择器。

变化:

jQuery('.navigaiton')

要:

jQuery('.navigation')

答案 1 :(得分:1)

您可以使用下面的代码从标记中完全删除任何css属性

    $('your-selector').css('height', '');

更新了小提琴 - http://jsfiddle.net/Aerious/6h30eL8q/