javascript - 响应式 jquery 导航交互 - 调整大小问题

标签 javascript jquery html css responsive-design

要求: 900 像素或以上的水平导航和 900 像素以下的垂直导航。但在900以下,nav应该默认隐藏,只有在点击“header”时才会出现

我目前拥有的: http://jsfiddle.net/0rmgpjtr/3/

   $(document).ready(function(){

$('.dropdown ul:first').show();
    $('.dropdown ul:first').css("display:table");
    $('.dropdown li').click(function (e) {
                $(this).addClass('active').siblings('li').removeClass('active');
                $(this).children('ul').slideToggle('fast');
                $(this).siblings('li').find('ul').slideUp('fast');
                e.preventDefault();
                e.stopPropagation();

          });
              $(document).on('click', function (event) {
                $('.dropdown li').children('ul').slideUp('fast');
              });

});
$(window).on("resize", function () {

     if($(window).width()<=900){
         console.log("800");
        $('.ch-logo').bind('click',function(){
            $('.dropdown').slideToggle('fast');
        })
    }else{
                 console.log("900+");
        $('.ch-logo').unbind()
    }

}).resize();

问题: 1.绑定(bind)和解除绑定(bind)标题点击事件不起作用 2. 当我点击父链接打开子导航时,在我调整浏览器大小后它会闪烁 - 实际上任何交互都会开始闪烁菜单,可能是因为它与调整大小功能相关。

最佳答案

http://jsfiddle.net/extca38f/

$(window).on("resize", function () {

     if($(window).width()<=900){
         console.log("800");
         $('.dropdown').hide();
        $('.ch-logo').bind('click',function(){
            $('.dropdown').toggle();
        });
     }else{
         $('.dropdown').show();
     }
}).resize();

关于javascript - 响应式 jquery 导航交互 - 调整大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29008690/

相关文章:

javascript - 从对象数组中提取数据并按字母顺序排序(同时)

javascript - 当过滤器属性设置时,Kendo 下拉列表小部件会中断

javascript - jQuery 时间计数

javascript - 使用带有可变参数的警报?

javascript - 如何使用 fetch 发送数组? (JavaScript)

javascript - 如何使 Bootstrap 导航栏项目不可点击?

jquery - 如何为 div 不同的 div 交替样式(背景颜色)?

javascript - 使用 4 位密码的静态页面的简单例份验证

html - 超链接谁的路径只是一个正斜杠 (/)

html - 过渡边界底部?