如果 CSS3 过渡不存在,使用 Modernizr 和 jQuery 制作动画

2023-11-24

如果不支持 CSS3,有没有办法结合使用 Modernizr 和 jQuery 来启用类似于过渡的功能?我目前正在做的事情是这样的......

<div class="hoverable">
 <p>This div changes both width and height on hover</p>
</div>

CSS 是

.hoverable {
 height: 100px;
 width: 2000px;
 transition: height .5s, width .5s;
}

.hoverable:hover {
 height: 200px;
 width: 100px;
}

如果不支持 CSS3 转换,我目前只是使用 Modernizr 使 div 默认处于悬停状态。如果不支持 CSS3,有没有办法使用 Modernizr 触发 jQuery 动画?如果不是 jQuery,那么我也可以使用自定义动画,但我也不知道该怎么做。


我自己解决了这个问题。我做的方式是这样的

<!doctype html>
<html>
    <head>
        <title>Modernizr + jQuery Testing</title>
        <script type="text/javascript" src="modernizr.js"></script>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript">
        if(!Modernizr.csstransitions) { // Test if CSS transitions are supported
            $(function() {
                $('#js').hover(function(){
                    $(this).animate({width:'50px',height:'50px'},{queue:false,duration:500});
                }, function(){
                    $(this).animate({width:'100px',height:'100px'},{queue:false,duration:500});
                });
            });
        }
        </script>
        <style type="text/css">
            body {
                margin: 0;
                padding: 0;
            }
            div {
                border: 1px solid red;
                height: 100px;
                margin: 25px auto;
                width: 100px;
            }
            #css {
                transition: height .5s, width .5s;
                -khtml-transition: height .5s, width .5s;
                -moz-transition: height .5s, width .5s;
                -o-transition: height .5s, width .5s;
                -webkit-transition: height .5s, width .5s;
            }
            #css:hover {
                height: 50px;
                width: 50px;
            }
        </style>
    </head>

    <body>
        <div id="js">
            JS
        </div>
        <div id="css">
            CSS
        </div>
    </body>
</html>

效果非常好。 CSS 只能在新浏览器中生成动画(因为这是唯一可以实现的地方),而 JS 只能在旧浏览器中生成动画。如果你使用这个脚本,你可以从http://www.modernizr.com/和 jQuery 来自http://www.jquery.com/(当然)。

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

如果 CSS3 过渡不存在,使用 Modernizr 和 jQuery 制作动画 的相关文章

  • 本地推送通知到在应用程序内运行 JS 代码的 Win8 Live Tile

    我正在尝试将更新发送到我的应用程序的磁贴 当应用程序运行时 这可以正常工作 例如 当用户单击按钮时 我可以轻松地将磁贴更新通知发送到磁贴 我无法解决的是当应用程序无法运行时如何更新磁贴 我找到的唯一选择是使用以下命令从远程 Web 服务器拉
  • IntersectionObserver是否支持水平滚动观察?

    我制作了几个垂直滚动 IntersectionObserver 模块 但我对水平滚动感兴趣 根将是 div 观察目标将是 img 我想观察当 img 放大但 div 保持视口宽度时的变化 我什至不确定移动 Safari 是否会将缩放后的图片
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • 删除 IE9 边缘周围的 2px 灰色边框

    我正在尝试对这个网站进行编码 尝试关键字 并且我正在尝试找出如何删除这个阴影2px灰色边框延伸到 IE9 窗口的内部 至少顶部 左侧和底部 我的边距设置为零 因此所有页面元素都到达页面的最边缘 但使用 IE9 它们会停在这个灰色边框处 我没
  • React Router v4 不渲染组件

    React Router v4 渲染组件存在问题 在应用程序初始加载时 它将呈现与 URL 相对应的正确组件 但是 任何后续的组件Link单击不会呈现所需的组件 图书馆 反应路由器 4 2 2 https reacttraining com
  • 如何在另一个自定义 Hook 中使用返回值的自定义 Hook?

    我正在使用 React native 其中有一个名为的自定义 HookuseUser使用以下方法从 AWS Amplify 获取用户信息Auth getUserInfro方法 然后获取返回对象的一部分并用它设置一个状态变量 我还有另一个名为
  • mongodb 聚合 - 累积字段的不同组值

    如果我有Player表格文件 name String score Int 我有Group文档 其中组代表玩家列表 groupName String players ObjectID 玩家可以属于多个组 我想做一个聚合Player文档 按以下
  • 如何在模态打开时防止主体滚动

    我在用着W3schools 模态脚本 https www w3schools com howto tryit asp filename tryhow css modal我想添加一个功能 防止模型打开时整个主体滚动 我根据我的需要对原始脚本做
  • 使用 JavaScript 移动页面上的按钮

    我的按钮可以移动 但奇怪的是 我无法弄清楚偏移是否有问题 我希望我的按钮随着鼠标光标移动 但现在它的移动方式不是我想要的 有时它会消失 另外 创建的新按钮是重叠的 我不知道如何解决这个问题并拥有更好的外观 var coorA var coo
  • 改变 JavaScript 中的顶部填充

    以下是我在 css 中设置顶部填充的方法 body font size font size px margin 0 padding 100px 0 20px 0 width 100 important 如何使用最简单的 javascript
  • LeafleteachLayer函数不会迭代所有Layer

    使用 GeoJSON 数据数组创建一些标记 getJSON GetLocationsServlet function data L geoJSON data onEachFeature onEachFeature addTo mymap G
  • JavaScript eval("{}") 返回行为?

    根据ECMA 262 规范 http www ecma international org publications files ECMA ST Ecma 262 pdf 以下语句返回1 eval 1 eval 1 eval 1 var a
  • 使用单击事件调用“trigger”方法时的复选框值

    如何在点击事件中获取正确的当前值以通过触发器调用 Html
  • 覆盖 jQuery 验证 MVC4 中的默认设置

    要覆盖查询验证插件 请在文件 http docs jquery com Plugins Validation validate toptions 推荐的方式是 selector validate invalidHandler functio
  • Rails 3.1+ 的 Jasmine 与 Mocha JavaScript 测试 [已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我对茉莉花有经验并且非常喜欢它 有谁有 Jasmine 和 Mocha 的经验 特别是 Rails 的经验吗 我想知道是否值得转用 我已经在 J
  • $resource.query 返回分割字符串(字符数组)而不是字符串

    我正在使用像下面这样的 Angular resource angular module app factory data function resource var Con resource api data update method P
  • Webpack 4:如何使用 LESS 获取 CSS 源映射?

    多年来我一直在尝试让 CSS 源映射在 webpack 中工作 但没有成功 我不确定链条中哪里出了问题 我希望有人能指出我正确的方向 这是发生的事情 行号是错误的 实际上文件名也是错误的 main less只是包含一堆 import也就是说
  • react-native - 图像需要来自 JSON 的本地路径

    你好社区 我正在react native中开发一个测试应用程序 并尝试从本地存储位置获取图像 我实际在做什么 我将图像直接链接源提供给 var 并在渲染函数中调用此方法 react 0 14 8 react native 0 23 1 np
  • Flot 库将 y 轴设置为最小值 0 和最大值 24

    如何将 y 轴设置在 0 到 24 的范围内 这是我的代码 j plot j placeholder d1 xaxis mode time min new Date 2010 11 01 getTime max new Date 2011
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供

随机推荐

  • 如何在 AVD 4.2 中启用多用户支持

    有没有办法在 Android 4 2 ADT 版本 21 的新 模拟器 AVD 中启用多用户支持 在真实设备上 设置 中应该有 用户 菜单项 但在我的 AVD 上缺少 我知道此功能仅针对某些平板电脑设备启用 但在新的设备定义部分中创建 AV
  • 从 UEFI 应用程序内部运行 UEFI shell 命令

    我是 UEFI 应用程序开发新手 我的要求是 我需要从 UEFI 应用程序运行 UEFI shell 命令 app efi 源代码 需要指导我如何做到这一点 Example cpUEFI shell 中的命令用于将文件从一个路径复制到 其他
  • UpdatePanel 内的 FileUpload.PostedFile 始终为 null

    我在 UpdatePanel 中有一个 FileUpload 控件 我已成功向脚本管理器注册上传按钮以进行完整的回发 我遇到的唯一问题是 FileUpload HasFile 始终返回 null 注意 当我将 FileUpload 控件移到
  • 在 Mongoose / MongoDB 中创建多字段索引

    我试图找到有关如何在 Mongoosejs 中创建多字段索引的文档 但无济于事 特别是我有两个需要索引和唯一的字段 将两个字段一起索引的猫鼬模式示例是什么 你打电话给index方法对你的Schema对象这样做如图所示here 对于你的情况
  • Java 中的 IntPtr (C#) 相当于什么?

    Java JNA 中的 IntPtr C 相当于什么 com sun jna ptr IntByReference
  • Javascript regexObj.exec() 说 TypeError:pattern.exec 不是函数

    我想使用正则表达式从 img 标签中提取图像名称javascript 我的问题是console log 抛出异常 TypeError pattern exec is not a function JS label btn danger on
  • 固定维数 (N=9)、对称、正半定稠密线性系统的快速求解

    您会推荐哪种算法来快速求解固定维数 N 9 的密集线性系统 矩阵是对称的 半正定的 高斯消去法 LU分解 乔列斯基分解 etc 类型为 32 位和 64 位浮点 这样的系统将被解决数百万次 因此算法在维度 n 9 方面应该相当快 附 示例r
  • Scala 方法类型和作为参数的方法

    在下面的代码示例中 我不明白为什么函数 fun 可以作为参数传递给方法addAction 方法fun属于类型Unit 而该方法addAction需要类型的函数 gt Unit If fun属于类型 gt Unit 那么为什么编译器会抱怨fu
  • AngularJS:段落元素的换行符

    在 Angular 中 我需要从包含换行符的文本块生成一系列段落元素 我可以想出几种方法来做到这一点 然而我想知道是否存在 官方 Angular 方式 或者在 AngularJS 上下文中最优雅的方法是什么 一个例子 From Lorem
  • 如何通过 cypress.io 使用 vue.js v-select 查找元素并选择?

    抱歉 我需要有关 cypress io 查找元素 v select 和 select 选项的帮助
  • 根据视差图进行 OpenCv 深度估计

    我正在尝试使用 OpenCV 估计立体图像对的深度 我有视差图 深度估计可以通过以下方式获得 Baseline focal depth disparity SensorSize 我使用块匹配技术在两个校正图像中找到相同的点 OpenCV 允
  • Xamarin iOS 模拟器运行旧代码

    当我从 Visual Studio 调试 Xamarin iOS 项目时 它会在模拟器上构建 安装并启动应用程序 不会出现任何问题 但在启动时 我看到了来自某个方法的大量调试跟踪 而该方法甚至不再存在于我的 C 代码中 我还可以在删除该方法
  • 使用 SAM 创建 API 网关代理资源

    我有一个看似简单的要求 即在 SAM 亚马逊的无服务器应用程序模型 中创建代理资源 事实上非常简单 以至于亚马逊的文档似乎将其保留为exercise致读者 我想创建一个 AWS API Gateway 包罗万象的终端节点来将所有内容代理到另
  • isNew() 如何判断会话是新会话还是已在使用中?

    如何调用isNew 在会话对象上 检查会话是否是新会话或已在使用中 我读到了isNew 如果客户端尚未响应会话 ID 则返回 true 但是这是什么意思 请解释 我读到 如果客户端尚未响应会话 ID 则 isNew 返回 true 但是这是
  • 从 .h5 文件加载权重时出现 Tensorflow 2.0 ValueError

    我有一个VAE架构脚本如下 import numpy as np import tensorflow as tf from tensorflow keras layers import Input Conv2D Flatten Dense
  • 从 Laravel 访问查询字符串值

    有谁知道是否可以在 Laravel 中使用 URL 查询 Example 我有以下路线 Route get text TextController index 该页面上的文本基于以下 url 查询 http example com text
  • 有没有更简单的方法来比较文件版本?

    我编写了一个函数来比较客户端当前拥有的文件版本和服务器上文件的最新版本之间的文件版本 客户端将 quad Major Minor Build Private 版本号作为字符串传递给服务器 然后服务器使用 FileVersionInfo cl
  • 获取某个 UITableViewCell 的屏幕坐标?

    所以 我有这个UITableView 它位于 iPad 应用程序中 有些单元格的右侧有一个附件按钮 小圆形箭头 当按下该按钮时 我会呈现一个弹出视图 用户可以在其中选择与他们触摸的表格单元格相关的操作 到目前为止 这一切都不是困难的或特殊的
  • 如何在不使用 setInterval/timeout 的情况下检查实时更新?

    建立一个社交网络 我正在尝试获取实时通知 目前 站点使用 setInterval 每隔几秒发送一次 AJAX 请求 它看起来像这样 setInterval function url base dir ajax file php data d
  • 如果 CSS3 过渡不存在,使用 Modernizr 和 jQuery 制作动画

    如果不支持 CSS3 有没有办法结合使用 Modernizr 和 jQuery 来启用类似于过渡的功能 我目前正在做的事情是这样的 div class hoverable p This div changes both width and