javascript - 基于浏览器窗口大小的条件 javascript 执行?

标签 javascript jquery css

我有一个简单的 jQuery 函数——详述如下——我用它来操纵文档标题的位置,我想知道我是否可以添加一个参数,使该函数 是否在浏览器窗口达到一定大小时执行?在这种情况下,我希望仅当浏览器窗口宽度超过 1024px 时才执行“stickyHeaderTop”函数;这可能吗?

<script type="text/javascript">
    $(function(){
    var stickyHeaderTop = $('header').offset().top;

    $(window).scroll(function(){
            if( $(window).scrollTop() > stickyHeaderTop ) {
                    $('header').css({position: 'fixed', top: '0px'});
            } else {
                    $('header').css({position: 'relative', top: '30px'});
            }
    });
});
</script>

最佳答案

您可以使用屏幕-对象的高度宽度availHeightavailWidth属性。

如果您想在小于 800 像素的屏幕上执行一些代码,例如:

if (screen.width < 800){
// do stuff
}

请注意,这是一个存在一些跨浏览器陷阱的区域(以及像 stumbleupon 工具栏这样的问题),因此替代方法是使用 jQuery(您已经在使用)来检测客户端的窗口大小:

if ($(window).width() < 800){
// do stuff
}

进一步阅读 MDN 关于纯 JS 和 jquery.com 对于 jQuery 部分

关于javascript - 基于浏览器窗口大小的条件 javascript 执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12025666/

相关文章:

javascript - JQuery setTimeout 上的旋转图标

javascript - 移动设备中带箭头的水平菜单栏

javascript - JavaScript 对象如何引用自身的值?

jquery - 如何在网站可见时触发动画?

javascript - 附加 html 上的 PreventDefault( ) 不起作用。为什么?

css - 如何将单个 css 用于多个 View ?

css: FlexBox 里面的 FlexBox

javascript - 获取 javascript 值到 C# 字符串

javascript - 在Javascript中创建一个空的二维数组,带有键

php - php 中的 Javascript 数组格式错误