$(window).width 的条件行为

2024-07-03

当窗口高于 1278 像素时,我想要特定的 mouseenter 和 mouseleave 行为。对于低于 1278 的宽度,我想禁用此切换行为,并将 2 个元素设置为 1 个状态(可见和活动)。如果浏览器宽度大于 1278,我还必须将状态重置回默认值(隐藏和非活动状态)。这就是我所拥有的:

$('section').live('mouseenter', function() {
  if ($(window).width() > 1278) {
    $(this).find('menu').removeClass('hidden');
    $(this).find('div.section-wrapper').addClass('active');
  }
}).live('mouseleave', function() {
  if ($(window).width() > 1278) {
    $(this).find('menu').addClass('hidden');
    $(this).find('div.section-wrapper').removeClass('active');
  }
});

$(document).ready(function() {
  $(window).bind('load resize orientationchange', function(){
    if ($(window).width() < 1278) {
      $('section').find('menu').removeClass('hidden');
      $('section').find('div.section-wrapper').addClass('active');
    } else {
      $('section').find('menu').addClass('hidden');
      $('section').find('div.section-wrapper').removeClass('active');
    }
  });
});

它有效,但我想知道我是否可以做一些更优雅的事情。


CSS 媒体查询是这里的最佳选择。虽然除非您使用的是速度较慢的设备,否则您不会注意到性能的提高,但这是更快的等价物:

@media(min-width: 1279px) {
  section:hover {
    menu.hidden {
      display: block;
      visibility: visible;
    }
    .section-container { padding: 14px; }
    .section-wrapper { border: 1px #ddd solid; }
  }
}
@media(min-width: 768px) and (max-width: 1278px) {
  menu.hidden {
    display: block;
    visibility: visible;
  }
  .section-container { padding: 14px; }
  .section-wrapper { border: 1px #ddd solid; }
}

这两个块看起来几乎相同,但事实并非如此。它们在悬停时以及屏幕宽度低于 1278 像素但高于 768 像素时强制显示“活动”外观。

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

$(window).width 的条件行为 的相关文章

  • Nodejs、expressjs - 如何提供延迟响应

    我正在构建一个网络服务 我使用nodejs phantomjs 和expressjs 我正在学习这三个 我想在处理完客户的查询后向客户提供延迟响应 例如 我正在处理来自客户端的某些输入 然后 我想在后端处理数据 这平均需要大约 10 秒 然
  • Tooltipster 在生成的内容中不起作用

    我已经安装了 Tooltipster我的网站 http heroplaysonline com 但它不适用于动态添加的内容 您可以在 按您的选择排序游戏 默认为最新游戏 框中看到它 当我选择按 最新优先 最受欢迎 等排序时 生成内容时 To
  • 当您单击不确定复选框时,IE 不会触发“更改”事件

    我有一个三态复选框 当用户单击它时 我需要触发更改事件 但当复选框的状态处于 不确定 时 IE 不会触发它 可能是浏览器错误 作为 IE 的解决方案 我可以以编程方式触发更改事件 但这不适用于我的情况 因为我需要知道该事件是否被触发 因为用
  • 使用 Jquery 创建多步骤模态

    我想用它创建一个多步骤模式 https github com ngzhian multi step modal 我这个 div 带有动态生成的类 modal content append div class div 现在我想将一个输入变量附
  • jQuery click() 在 Greasemonkey/Tampermonkey 脚本中不起作用

    我在通过 Greasemonkey Tampermonkey 触发 jQuery 点击时遇到问题 jQuery button each function jQuery this css background red jQuery this
  • jQuery 验证 - 获取 invalidHandler 中错误字段的列表

    我在页面上使用 jQuery 验证 在调用 invalidHandler 期间 我希望能够访问所有验证失败的表单元素的列表 该函数作为选项之一传递给 jQuery validate 方法 invalidHandler function fo
  • 使用 .post() 进行错误处理

    我必须修改别人写的项目 因为代码很混乱 所以我无法真正更改此 post 或将其替换为 ajax 我需要做的是知道帖子是否返回 JSON 之外的其他内容并返回它 post balbal html json function data my c
  • $.getJSON 和 PHP 文件

    是否可以隐藏 php 文件的名称 document ready function getJSON getdata php function returned data if returned data 1 div wall html use
  • 使用 jQuery 的数据存储与 Expando 属性

    我正在使用 jQuery 开发代码 并且需要存储与某些 DOM 元素关联的数据 还有很多其他问题how使用 html 元素存储任意数据 但我更感兴趣的是为什么我会选择一个选项而不是另一个选项 假设 为了极其简化的论证 我想在 有趣 的表中的
  • Jquery获取隐藏字段的Name值

    我正在尝试从隐藏字段中的名称获取值 名称 值是动态创建的 ID 列是按顺序创建的 这是 HTML
  • 将 HTML 表格导出到 Excel 在 IE 中不起作用

    将 HTML 表格导出到 Excel 在 Chrome 和 Firefox 中工作正常 但在 Internet Explorer 10 中不起作用 var tableToExcel function var uri data applica
  • 更改引导程序中单击按钮的颜色

    我正在尝试更改单击按钮的颜色 我正在蓝色的 Bootstrap 按钮上执行此操作 但我的代码不起作用 我的 JavaScript 代码如下 它没有改变颜色
  • 使用 jQuery Toggle 更改 div 文本

    使用时slideToggle 如何更改文本关闭 显示 我做了一个简单的操作 但无法恢复文本更改 这是我所做的 document ready function open click function showpanel slideToggle
  • 使用“.text”或“.textContent”时保留换行符。可能的?备择方案?解决方法?

    如果我从一个元素中获取一些 html 然后尝试将其分配为另一个元素的文本内容 则换行符是not保留 至少在最新的 Firefox 和 Chromium 中没有 因此 例如 以下代码 使用合理的 html 会生成其中换行符被空格替换的输出 好
  • 如何在没有 iframe 的情况下使用 Google 表单?

    几年前 我在互联网上发现如何在联系页面中使用 Google 表单 仅使用属性提交按钮操作中的查询而不使用 iframe 现在 我再也找不到了 没有 iframe 是否仍然可以使用 Google 表单 我刚刚找到了 function post
  • Jquery 密码字段的默认值

    我在用这个 Jquery 插件 http mudge github com jquery example 用于使用单击时消失的文本填充输入 它对于密码字段来说并不理想 因为所有内容都显示为点 在开始输入之前使默认文本在密码字段中可见的好方法
  • 使用 jQuery 和 Bootstrap 可重复使用的下拉菜单

    我正在尝试使用最新的 jQuery 3 6 1 和 Bootstrap 5 2 3 构建可重用的下拉菜单 但事实证明这很困难 我需要使用单击的按钮上指定的数据属性的值动态更新下拉列表的链接 我正在看优秀的solution https sta
  • iPad html5 视频没有控件?

    这让我苦恼了一整天 但我不知道如何让 html5 视频播放器在没有本机控件的情况下工作 我不想要任何控件 但如果我不包含它们 视频似乎不想播放 即使我在下面添加一些 javascript 试图强制它播放 它也适用于 iPhone 和多个浏览
  • 如何在javascript中使用MD5传输密码

    我弹出一个 jquery 对话框模式框用于登录我的网站 当用户单击登录时 它会向 login php 文件发出一个 post 请求 如下所示 post includes login php user username pass passwo
  • jquery 调整 div 上的侦听器大小

    这就是情况 我有 2 个 div 彼此相邻 一个 div 的高度非常动态 这基本上意味着它可以增长和缩小以适应其内容 例如 这个 div 具有可以折叠打开或关闭的内容 或者可以扩展以适合 ajax 加载内容的容器 现在 这个 div 旁边是

随机推荐

  • 如何使用“Android-Universal-Image-Loader”

    我想使用 Android Universal Image Loader 的 gridview 和 listview https github com nostra13 Android Universal Image Loader https
  • @PostConstruct 中的 CDI 参数

    我认为我的问题类似于this https stackoverflow com questions 4579711 managedpropertyvalue param id in a non request scope bean但还没发现它
  • Bash 中管道如何工作的简单解释是什么?

    我经常在 Bash 中使用管道 例如 dmesg less 虽然我知道这会输出什么 但这需要dmesg让我滚动浏览它less 我不明白什么 是在做 是不是正好相反 gt 有没有一个简单的或隐喻的解释 does 当一条管线中使用多个管道时会发
  • 为什么仅使用两个类似命令之一会出现错误“NoneType”对象没有属性“内容”?

    我正在从中提取内容url https www collinsdictionary com dictionary french english aimer import requests from bs4 import BeautifulSo
  • 无法创建带有 nil 模型错误的 NSPersistentStoreCoordinator

    我有一个运行完美的 coreData 数据模型文件 由于一些特殊要求 我deleted旧的数据模型文件并创建另一个数据模型文件完全相同的实体 有实体没有变化来自之前的数据模型 我已将其作为不同的捆绑并从该包中引用它 用于创建 Managed
  • 跨多个子域使用 Apache mod_auth 进行单点登录?

    我有一个域和一组需要身份验证才能访问的子域 我目前正在使用 mod auth 在 domain tld 级别对用户进行身份验证 mod auth basic 我的目标是域和所有子域之间的单点登录 这些凭据是否会自动延续到子域 或者通过简单的
  • 如何在 Intellij IDEA 中的实时模板中设置变量的默认值?

    Intellij IDEA 中的实时模板可能存在一些误解 我的意思是模板中变量的默认值 假设我们有这个实时模板 我在这里期望的是 当调用此模板时 类型jqon并按TAB 我将看到已输入的默认值 我可以更改或保留原样 像这样 但不是 我有空字
  • 创建代表“今天”的 NodaTime LocalDate

    创建代表 今天 的 LocalDate 实例的推荐方法是什么 我原以为 LocalDate 类中有一个静态的 Now 或 Today 属性 但没有 我当前的方法是使用 DateTime Now var now DateTime Now Lo
  • 使用sql删除重复行

    我正在尝试从 mysql 表中删除重复的行 我尝试了多个查询 但不断收到此错误 1093 You can t指定目标表 usa city 以在 FROM 子句中进行更新 该表如下所示 usa city id pk id state city
  • 是否可以更改默认的 html5 视频皮肤/颜色

    是否可以更改默认 html5 视频播放器的颜色或完整皮肤
  • WebView 和 SSL 证书

    我在使用 Android WebView 加载受 SSL 保护的网页时遇到问题 我总是收到如下错误 onReceivedSslError primary error 3 certificate Issued to CN intranet
  • 如何使用 Knockout 和自定义绑定将 JSON DateTime 转换为可读的日期和时间

    我将 KnockoutJS 与映射插件一起使用 除了 DateTime 字段之外 一切都运行良好 该字段被序列化为刻度 如下所示 Date x 其中 x 刻度 我会怎样 1 将日期对象解析为人类可读的形式 2 将其从自定义绑定返回到模型中的
  • Pip要求输出全局包

    我的 django 项目有一个虚拟环境 但是当我点击pip freeze 我得到的一定是一个全局站点包列表 包括太多的包 比如 ubuntu 包和很多不相关的东西 无论 virtualenv 是否处于活动状态 都会发生这种情况 我的站点包列
  • Angular 2:NgbModal 在视图中嵌入

    假设我有这样的模态模板 div class modal header h3 h3 div div class modal body div
  • Javascript - window.location.assign 不起作用

    我有一个项目 我扫描二维码 然后它会根据扫描的代码自动打印出信息 我有扫描仪和打印机 每个二维码都对应一个URL 我可以让扫描仪填充输入字段 并且可以收到警报以显示扫描的信息 但是 每当我尝试分配 URL 时 它只是将信息附加到当前 URL
  • Visual Studio 2012 最近的项目未在任务栏中更新

    我已将 Visual Studio 固定到任务栏 用鼠标右键单击该图标时 会显示最近的项目和解决方案的列表 这曾经工作正常 但从现在起 该列表不再更新 我总是在下面看到相同的项目和解决方案Recent 尽管我最近参与了较新的项目 我该如何修
  • Google 云消息传递:如何使用 SHA1 证书?

    我有个疑问 我开发了一个 Android 应用程序 它通过 Google Cloud Messaging 接收推送通知 以下是我采取的步骤 在 Google Developer 控制台上创建新项目 并将我的项目编号复制 粘贴到我的 Andr
  • 如何使用 mongoose 连接到两个不同的数据库?

    我有两个数据库 一个数据库影响另一个数据库 所以我想看看是否有一种方法可以连接两个数据库 以便一个模型可以与另一个数据库关联 而另一个模型可以专注于差异数据库 目前我的模型如下所示 var mongoose Schema Moduser O
  • 水平滚动视图 - xamarin.forms

    我知道有很多关于这个话题的 在 Xamarin Forms ScrollView 中水平滚动 https stackoverflow com questions 24389661 scroll horizontally in xamarin
  • $(window).width 的条件行为

    当窗口高于 1278 像素时 我想要特定的 mouseenter 和 mouseleave 行为 对于低于 1278 的宽度 我想禁用此切换行为 并将 2 个元素设置为 1 个状态 可见和活动 如果浏览器宽度大于 1278 我还必须将状态重