jQuery 调整窗口大小

2024-01-07

我有以下 JQuery 代码:

$(document).ready(function () {
    var $containerHeight = $(window).height();
    if ($containerHeight <= 818) {
        $('.footer').css({
            position: 'static',
            bottom: 'auto',
            left: 'auto'
        });
    }
    if ($containerHeight > 819) {
        $('.footer').css({
            position: 'absolute',
            bottom: '3px',
            left: '0px'
        });
    }
});

唯一的问题是这仅在浏览器首次加载时有效,我想要containerHeight当他们调整窗口大小时也要检查?

有任何想法吗?


下面是一个使用 jQuery、javascript 和 css 来处理调整大小事件的示例。
(如果你只是在调整大小时对事物进行样式化(媒体查询),那么 css 是你最好的选择)
http://jsfiddle.net/CoryDanielson/LAF4G/ http://jsfiddle.net/CoryDanielson/LAF4G/

css

.footer 
{
    /* default styles applied first */
}

@media screen and (min-height: 820px) /* height >= 820 px */
{
    .footer {
        position: absolute;
        bottom: 3px;
        left: 0px;
        /* more styles */
    }
}

javascript

window.onresize = function() {
    if (window.innerHeight >= 820) { /* ... */ }
    if (window.innerWidth <= 1280) {  /* ... */ }
}

jQuery

$(window).on('resize', function(){
    var win = $(this); //this = window
    if (win.height() >= 820) { /* ... */ }
    if (win.width() >= 1280) { /* ... */ }
});

如何阻止我的调整大小代码如此频繁地执行!?

这是绑定调整大小时您会注意到的第一个问题。当用户手动调整浏览器大小时,调整大小代码会被调用很多,并且会感觉非常卡顿。

要限制调整大小代码的调用频率,您可以使用debounce http://underscorejs.org/#debounce or throttle http://underscorejs.org/#throttle方法来自下划线 http://underscorejs.org/ & lodash http://lodash.com/图书馆。

  • debounce只会在上次调整大小事件后 X 毫秒执行调整大小代码。当您只想在用户完成浏览器大小调整后调用一次调整大小代码时,这是理想的选择。它非常适合更新图形、图表和布局,而更新每个调整大小事件的成本可能很高。
  • throttle只会每 X 毫秒执行一次调整大小代码。它“限制”代码的调用频率。这并不经常用于调整大小事件,但值得注意。

如果你没有下划线或lodash,你可以自己实现类似的解决方案:JavaScript/JQuery:$(window).resize 如何在调整大小完成后触发? https://stackoverflow.com/questions/2854407/javascript-jquery-window-resize-how-to-fire-after-the-resize-is-completed

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery 调整窗口大小 的相关文章

  • Webkit 是否有 CSS3 网格布局的有效实现?

    CSS 网格布局 编辑草案 2011 年 11 月 21 日 http dev w3 org csswg css3 grid align 我正在制作一个原型 该原型将在选定的设备和浏览器上向客户展示 目前我并不担心跨浏览器兼容性 IE10开
  • 如何使用 CSS 或 jQuery 设置第一个和最后一个 li 的样式?

    我如何设计第一个 顶级 li和最后一个 顶层 li使用 CSS 还是 jQuery 我正在使用 CSS 设置第一个li但它也是造型第一li在每个中学阶段ul 那么我怎样才能让它只设置样式li其中包含 Main 1 最后一个包含 Main 6
  • jquery 聚焦/聚焦

    我想要的是将 active 类添加到输入焦点上的输入 当焦点关闭时 删除该类 Thank s 一旦你包含了 jquery 库 它就非常标准了 input focus function this addClass active input b
  • 如何让 jstree 节点显示长的、可能是多行的内容?

    当使用jsTree插件 http www jstree com 我需要有一个显示其完整内容的节点 目前 每个节点仅显示大约一行文本 如何让 jsTree 中的节点显示节点中的所有文本而不截断节点的内容 下面的 CSS 代码就可以解决这个问题
  • jQuery 日期格式

    如何使用 jQuery 设置日期格式 我正在使用下面的代码但出现错误 txtDate val format date new Date dd M yy 请提出解决方案 在您的页面中添加 jquery ui 插件 txtDate val da
  • UpdatePanel 破坏 JQuery 脚本

    这是我想做的事情的简化版本 基本上我有一个数据列表 里面有很多东西 当你将鼠标悬停在数据列表中的项目上时 我希望 jquery 隐藏 显示东西 问题是 在我进行数据绑定后 如果 gridview repeater datalist 位于更新
  • Bootstrap 响应式表格在 iOS 设备上无法垂直滚动

    这就是我所拥有的 div class table responsive table class table style background transparent table div 我正在使用以下 bootstrap css 文件 ht
  • CSS 边框样式 INSET 或 GROOVE 看起来与 IE9 FF4 或 Safari5 或 Chrome2 非常不同

    抱歉 我是个白痴 但是当我尝试获得某种凹槽效果或插入效果作为边框样式时 我从不同的浏览器中得到了一些非常非常大的视觉结果 使用时 border 5px groove A00 or border 5px inset A00 Firefox 3
  • Bootstrap 4 移动导航栏消失

    我刚刚从 Bootstrap 3 转换为 Bootstrap 4 但我的移动导航栏出现问题 使用切换按钮展开导航栏时 导航消失 我不明白为什么会发生这种情况 导航栏下方有一个大屏幕 但整个移动导航向上移动 如下面的 gif 所示 以下是导航
  • jQuery:将文本区域滚动到给定位置

    我有一个包含很多文本的文本区域
  • 全高全宽 CSS 布局

    我正在寻找一种方法来创建具有 5 个区域的纯 CSS 无 JavaScript 布局 如下所示 H A B C F
  • Firefox Addon 中的 JQuery 导致多个警告

    我在 Firefox 插件中使用 jquery 但我不断收到大量警告消息 如下所示 anonymous function does not always return a value System JS WARNING resource g
  • AngularJS + jQuery 移动

    是否还有其他可能性来设计AngularJS以移动友好的方式应用程序CSS 我正在计划一个移动应用程序 并希望使用 AngularJS 进行逻辑和数据绑定 但我不想自己设计所有内容CSS The AngularJSFAQ说它使用jQuery
  • 可以禁用幻灯片的触摸模拟但不能禁用滚动条(危险的滑动器)吗?

    我的页面上有一个危险的滑动器 它成功地模拟了幻灯片和随附滚动条上的触摸事件 允许单击鼠标并移动以向左或向右滑动幻灯片 这很好 但我现在在滑动器内的幻灯片上调用了可拖动 这意味着我需要停止此触摸模拟 拖动幻灯片并同时移动它们会引起混乱 但仅限
  • 如何更改 HTML 文档的“实际编码”?

    我通过 W3C HTML 验证器运行我的网页并收到此错误 编码ascii不是字符的首选名称 使用中的编码 首选名称是 us ascii Charmod C024 第 5 行 第 70 列 内部编码声明 utf 8 不同意 文档的实际编码 u
  • 轮播滑动(未滑动)事件上的火灾事件,Bootstrap 3

    Bootstrap 2 似乎可以很好地处理幻灯片事件 请参阅这个问题 https stackoverflow com questions 9651466 how to attach slide slid events to the boot
  • 为什么我的 Web 组件 CSS 不显示?我没有使用shadowDOM

    我有一个没有使用 ShadowDOM 的 Native V1 组件 所以我将 CSS 放在 但是当其他人使用我的组件时 我的 CSS 就不再起作用了 仅当其组件确实使用 ShadowDOM 时才会发生这种情况 我的组件的示例代码 class
  • 从 jQuery UI 对话框调用 Bootstrap 模式:超出最大调用堆栈大小

    我有一个有点奇怪的问题 我正在调用 Bootstrap Modal 同时打开了 jQuery UI 对话框并且正在获取RangeError Maximum call stack size exceeded 在控制台中 奇怪的是 只有当我在打
  • 如何从 html 字符串向 jQuery DataTable 添加多行

    我有一个 jQuery DataTable 我想向其中添加 html tr 行 这些行以 html 字符串的形式出现 我可以使用标准 jQuery 将它们添加到表中 但这意味着它们绕过 DataTable 对象 并在重新排序表时丢失 要使用
  • Cycle2 初始化事件未触发

    我使用 Cycle2 作为基本的轮播 我的幻灯片项目有时在其数据中包含一个 url 因此我必须使用 Cycle2 api 事件来使用该 url 当它存在时 我的问题是 虽然 cycle after 事件触发正常 但初始化事件都不会触发 因此

随机推荐

  • 为什么人们仍然在 Java 中使用原始类型?

    从 Java 5 开始 我们对原始类型进行了装箱 拆箱 以便int被包裹成java lang Integer 等等 我最近看到了很多新的 Java 项目 确实需要至少版本 5 如果不是 6 的 JREint而不是java lang Inte
  • 在 C++ 中用函数调用替换强制转换

    有关重构 替换强制转换的工具或方法的任何建议 例如 type data into convert to type data 当事情变得更加棘手时data其中有更高优先级的运算符 括号或换行符 type a b gt c 应该成为conver
  • Cucumber和Spring boot集成出现错误

    Spring boot和cucumber集成 当我将该项目打包为jar时 使用mvn package命令并生成advvic 1 0 jar 但是 如果我运行这个罐子 java jar target advvic 1 0 jar 我收到此错误
  • 为什么 DataTemplate.LoadContent() 不尊重模板定义的触发器?

    TL DR版本 我们试图找出触发器有效时自动应用 DataTemplate 与触发器无效时手动调用 DataTemplate LoadContent 之间的区别 现在细节 但首先 我首先要说的是 这个问题是为了帮助我们理解框架以及它内部在做
  • C# 正则表达式电话号码检查

    我有以下内容来检查电话号码是否采用以下格式 XXX XXX XXXX 下面的代码始终返回 true 不知道为什么 Match match Regex Match input d 3 d 3 d 3 d 4 Below code always
  • 在 django 中运行“syncdb”时如何指定模式名称?

    假设我有一个名为 my schema 的模式 如何为该特定模式创建带有 djangosyncdb 的表 或者还有其他选择可以从我的 django 模型快速创建表吗 我认为 默认情况下 django 为 公共 模式创建表 首先 您必须拥有 p
  • 无需打开表单即可获取表单记录源

    MS Access 是否允许在不打开表单本身的情况下获取表单的记录源值 我现在正在尝试优化我的代码 我所做的只是隐藏表单 然后获取 Recordsource 表单查询 但加载需要时间 因为某些表单在加载时会触发代码 我在这里玩游戏迟到了 我
  • 对于嵌套模板,“>>”何时成为标准 C++(而不是“> >”)?

    我似乎记得 以前 有人警告不要放两个 gt 处理嵌套模板参数时 字符彼此相邻 没有空格 我什至依稀记得声明任何向量的向量并遇到此编译错误 但现在我发现编译可怕的东西绝对没有错 gt gt 我的问题是 这个惯例在什么时候成为可以接受的做法 它
  • Postgresql 中的 Postgresql 全文搜索 - 日语、中文、阿拉伯语

    我正在为我当前的项目设计一个 postgresql 全文搜索功能 到目前为止 它可以与 ispell myspell 词典配合使用 现在我需要添加对中文 日文和阿拉伯文搜索的支持 我从哪说起呢 没有适用于这些语言的模板或词典 据我所知 它可
  • SQL - 将单列划分为多列

    我有以下 SQL 问题 如何使用 SELECT 命令将列 内部文本 分成两个带有分割文本的单独列 我需要使用空格字符分隔文本数据 我知道最好举个例子来让它变得容易 所以 SELECT COLUMN A FROM TABLE1 output
  • 清理AjaxToolkit AsyncFileUpload控件

    我在我的 aspx net 页面中使用 AsyncFileUpload 控件 该控件在更新面板内运行 我可以成功地将文件异步上传到服务器 我的问题是 每个文件上传后我无法刷新整个页面 所以我需要弄清楚如何清除上次上传的文件 这样当用户选择新
  • 了解多处理:Python 中的共享内存管理、锁和队列

    多重处理 https docs python org 2 library multiprocessing html module multiprocessingpython中的一个强大的工具 我想更深入地了解它 我想知道什么时候使用regu
  • 奇怪的 JavaScript 性能依赖于变量范围

    在测试一个 JavaScript 项目的性能时 我注意到一种非常奇怪的行为 JavaScript 成员访问性能似乎很大程度上受到它们所在范围的影响 我编写了一些性能测试 结果因多个数量级 我在 Windows 10 64 位上使用以下浏览器
  • 全局点击事件处理程序(WithEvents)

    我正在尝试创建一个类模块 当有人单击我表单中的六十个文本框之一时 它将充当全局处理程序 文本框代表一周的时间卡 显示一周 7 天的上班时间 下班时间 午餐开始 结束 持续时间 每日总小时数等信息 当有人单击一天中的任何一个框时 所有框都会解
  • Angular2 如何在 HTML5 模板中显示 localStorage 值?

    我在 localStorage 中存储 2 个密钥 我想在我的模板中显示其中之一 我无法访问这些值 我什至创建了一个接口来存储 localStorage 中的 currentUser 键的值 应该如何实施呢 这是当前的代码 Service
  • stl::list 中的 C++ 接口

    课程界面 class ILesson public virtual void PrintLessonName 0 virtual ILesson STL容器 typedef list
  • MemoryCache.Set 返回删除的缓存项

    我正在使用 NET 4 0MemoryCache http msdn microsoft com en us library dd780634 28v vs 100 29 aspx类 并且我想以线程安全的方式添加或替换缓存中的现有项目 但我
  • golang 在 ubuntu 14.04 LTS 中获取大量读取 tcp ip:port i/o 超时

    我编写了一个 golang 程序 过去几个月在 ubuntu 12 04 LTS 中运行良好 直到我将其升级到 14 04 LTS 我的程序专注于发送 HTTP 请求 每秒发送大约 2 10 个 HTTP 请求 HTTP 请求地址各不相同
  • python 如何关闭已被 gc'ed 的文件?

    我一直认为如果在未关闭的情况下打开文件就会泄漏 但我刚刚验证了如果输入以下代码行 文件将关闭 gt gt gt f open somefile txt gt gt gt del f 纯粹出于好奇 这是如何工作的 我注意到该文件不包含 del
  • jQuery 调整窗口大小

    我有以下 JQuery 代码 document ready function var containerHeight window height if containerHeight lt 818 footer css position s