jQuery:检测浏览器大小

前端之家收集整理的这篇文章主要介绍了jQuery:检测浏览器大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我从snipplr使用这个脚本,我如何设置它,所以容器div比newWindowHeight高度小100像,比如-100或某些东西.
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){

//If the User resizes the window,adjust the #container height
$(window).bind("resize",resizeWindow);
function resizeWindow( e ) {
    var newWindowHeight = $(window).height();
    $("#container").css("max-height",newWindowHeight );
}

});         
</script>

解决方法

你发现的脚本过于复杂的问题.以下为我工作:
$(function(){

    // Cache reference to our container
    var $container = $("#container");

    // A function for updating max-height
    function updateMaxHeight () {
        $container.css("max-height",$(this).height() - 100);
    }

    // Call updateMaxHeight when browser resize event fires
    $(window).on("resize",updateMaxHeight);

});

一个警告是调整大小事件在调整浏览器大小时被调用很多;浏览器调整大小后不要调用.因此,您可以将回调函数调用数百次 – 这通常是一个坏主意.

解决方案是节流或反弹事件.调节意味着你不会让回调在一段时间内被触发超过x次(也许是每秒5次).去抖动意味着在从上一次调整大小事件经过一段时间后触发回调(等待直到大小事件后的500毫秒).

jQuery目前不支持油门或去抖动选项,尽管有插件. Other popular libraries you may have used do have these features,如下划线:

$(function(){

    // Cache reference to our container
    var $container = $("#container");

    // A function for updating max-height
    function updateMaxHeight () {
        $container.css("max-height",$(this).height() - 100);
    }

    // Version of updateMaxHeight that will run no more than once every 200ms
    var updateMaxHeightThrottled = _.throttle(updateMaxHeight,200);

    // Call updateMaxHeightThrottled when browser resize event fires
    $(window).on("resize",updateMaxHeightThrottled);

});

猜你在找的jQuery相关文章