首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未正确检测到Windows调整大小事件

未正确检测到Windows调整大小事件
EN

Stack Overflow用户
提问于 2015-07-16 20:33:57
回答 1查看 59关注 0票数 0

我有一个导航菜单,应该保持固定在页面顶部使用sticky.js插件窗口宽度等于或大于992 px。对于较小的窗口,它应该与站点的流量相匹配。现在,由于这是一个响应网站,我想实现一个动态窗口宽度检测时,窗口被调整。

下面的代码似乎没有正确检测到调整大小的事件。我必须重新加载页面以粘贴/取消正确宽度的导航条:

代码语言:javascript
复制
$(document).ready(function() {

var currentWindow = $(window);

function checkWidth() {

    var windowSize = currentWindow.width();
    if (windowSize >= 992) {

        // Sticky.js
        $('.navbar').sticky({ 
            topSpacing: 0, 
            getWidthFrom: '.upper-header',
            responsiveWidth: true
        });

    } else {
        alert('Window is smaller');
    }
}
// Execute on load
checkWidth();
// Bind event listener
$(window).resize(checkWidth);

});

会感谢你的指导。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-16 20:43:43

当窗户缩小时,你需要解开肚脐。

代码语言:javascript
复制
$(document).ready(function() {

    var currentWindow = $(window);
    var stuck = false; // So we only call the plugin when necessary

    function checkWidth() {

        var windowSize = currentWindow.width();
        if (windowSize >= 992 && !stuck) {

            // Sticky.js
            $('.navbar').sticky({ 
                topSpacing: 0, 
                getWidthFrom: '.upper-header',
                responsiveWidth: true
            });
            stuck = true;

        } else if (windowSize < 992 && stuck) {
            alert('Window is smaller');
            $('.navbar').unstick();
            stuck = false;
        }
    }
    // Execute on load
    checkWidth();
    // Bind event listener
    currentWindow.resize(checkWidth);

});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31464013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档