javascript - JQuery 调整大小仅在全屏启动时有效

标签 javascript jquery html css

我不太擅长 JQuery,所以我希望这里的任何人都可以帮助我。

我创建了这个小 JQuery 脚本,用于在调整窗口大小时更改 div 的位置。但是,它仅在全屏启动时有效。

如果我在调整窗口大小时刷新页面,然后调整到更大的窗口,JQuery 将无法工作。我必须全屏刷新页面才能使其再次工作。所以它只在去的路上有效,而在回来的路上无效。

为了表达我的意思,这里有一个 JSFiddle .

如果您从大屏幕开始,您不会在 #rightsection 中看到滚动条。

调整 JSFiddle 结果窗口的大小,并在 #rightcontent 落在 #leftsection 下面时按“运行”。当您放大结果窗口时,#rightsection 内的滚动条就会出现。

如果有人能帮助我解决这个问题,我将不胜感激。

JQuery

$(document).ready(function() {
    $.fn.hasScrollBar = function() {
        return this.get(0).scrollHeight > this.height();
    }

    if($("#rightsection").hasScrollBar()){
        $('#rightsection').css({
            "position":"static",
            "margin":"-75px 0 -55px 150px"
        });
    }

    $(window).resize(function(){
        var w = $(window).width();
        /*Making the screen smaller*/
        if(w < 960){ 
            $('#rightsection').css({
                "margin":"0"
            });
        }

        /*Making the screen bigger*/
        if(w > 960){ 
            $('#rightsection').css({
                "margin":"-75px 0 -55px 150px"
            });
        }
    });
});

最佳答案

命名您的处理函数,然后在文档就绪和窗口调整大小事件中调用它。

$(document).ready(function() {
    $.fn.hasScrollBar = function() {
        return this.get(0).scrollHeight > this.height();
    }

    if($("#rightsection").hasScrollBar()){
        $('#rightsection').css({
            "position":"static",
            "margin":"-75px 0 -55px 150px"
        });
    }

    function render()
    {
        var w = $(window).width();
        /*Making the screen smaller*/
        if(w < 960){ 
            $('#rightsection').css({
                "margin":"0"
            });
        }

        /*Making the screen bigger*/
        if(w > 960){ 
            $('#rightsection').css({
                "margin":"-75px 0 -55px 150px"
            });
        }
    }

    // call on document load
    render();


    $(window).resize(function(){
        // call on window resize
        render();
    });
});

关于javascript - JQuery 调整大小仅在全屏启动时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29745075/

相关文章:

javascript - 具有 "computed"URL 的 anchor

jQuery 平滑水平滚动

javascript - 删除文件时无法检测到 chrome 扩展中的删除事件

html - 将 zurb foundation 中的输入控件对齐在同一行

javascript - 将 div 中显示的文本复制到另一个 div

python - 从 Python 中的 unicode 字符串中删除 HTML 标签

javascript - 查找数组中元素的所有组合

javascript - RxJS:我怎样才能使用 event.preventDefault() 来处理掉落事件?

javascript - 从 html() 变量中删除所有空格和制表符

javascript - 使用构造函数参数向 Prototype 添加新属性