当窗口是特定大小时删除属性,而不是任何resize事件

时间:2018-01-05 16:33:17

标签: javascript jquery html css

我以为我已经解决了我的问题,但现在我意识到如果我触摸屏幕来调整它的大小,那么样式标签就会被移除。我希望它只在宽度低于992时被移除,然后如果它大于992则被替换?

jQuery的:

$(window).resize(function () {
    var viewportWidth = $(window).width();
    if (viewportWidth > 992) {
        $(".container").removeAttr("style");
    }
});

它改变的元素:

<div class="container" style="width: 240%;">

1 个答案:

答案 0 :(得分:0)

我建议使用CSS解决方案。

@media (max-width: 992px) {
 .container {
   width: 240%
 }
}

这样,只有当屏幕大于992px时,才将宽度设置为容器。

如果你因为某些原因需要js解决方案。你应该:

  1. 创建一个检查窗口宽度的函数,如果屏幕大于992px
  2. ,则处理逻辑
  3. 在加载/就绪事件
  4. 上调用该函数
  5. 调用debounce函数中包含的resize函数 - &gt; Can someone explain the "debounce" function in Javascript