0

我正在运行第三方脚本,它会在加载时计算元素的宽度。它工作得很好,但我有一个响应式网站,当我重新调整浏览器大小时,元素不再正确显示。

这是用于计算宽度的代码:

var w = ticker.width();
if (label.length) w -= label.outerWidth() + parseFloat(label.css("margin-right"));
if (controls.length) w -= controls.outerWidth() + parseFloat(controls.css("margin-left"));
news.css("width", w);

如何修改这部分脚本以在调整浏览器大小时重新计算宽度?

4

2 回答 2

5

这是最有效的

$(window).resize(function() {
if(this.resizeTO) clearTimeout(this.resizeTO);
    this.resizeTO = setTimeout(function() {
      $(this).trigger('windowResize');
    }, 500); 
});
$(window).on('windowResize', function() {
   console.log($(window).width()); // calculating here
});

超时的原因是窗口需要一些时间来设置宽度,但经典window.resize事件会在它稳定下来之前触发

于 2013-05-29T21:30:26.390 回答
0
$(window).on('resize', function(){
   //your code to calculate the width
});
于 2013-05-29T21:23:35.700 回答