使用JavaScript触发过渡效果的方法

发布时间 - 2026-01-10 22:38:04    点击率:

使用 :hover 和 :focus 这样的伪类,我们可以很方便的将元素从一个样式切换到另一个样式,而且切换是会有过渡效果。但有时我们想要使用 js 来驱动过渡(即在代码中触发过渡)也是可以实现的。

和普通过渡一样,先创建两个样式规则,一个是元素的初始状态,一个是过渡结束的状态。然后用 js 在合适的事机修改对应元素的样式即可。

下面以一个日夜景图片切换的样例演示:

(1)日景和夜景是两张图片叠在一起的。夜景图初始透明度是0,覆盖在日景图上方。

(2)点击“看夜景”按钮,夜景图透明度逐渐从0过渡到1,看起来画面慢慢变成夜景。

(3)点击“看日景”按钮,夜景图透明度逐渐又从1过渡到0,看起来画面恢复成日景。

在线样例如下:

<!doctype html>
<html lang="en">
<head>
<title>hangge.com</title>
<style>
img {
  position:absolute;
  transition: opacity 5s;
  -webkit-transition: opacity 5s;
}
.solid {
  opacity: 1;
}
.transparent {
  opacity: 0;
}
</style>
<script>
  function toNight(){
      var nightImage = document.getElementById("nightImage");
      nightImage.className = "solid";
  }
  function toDay(){
      var nightImage = document.getElementById("nightImage");
      nightImage.className = "transparent";
  }
</script>
</head>
<body>
  <button onclick="toNight()">看夜景</button>
  <button onclick="toDay()">看日景</button>
  <div>
    <img src="day.png" alt="日景"/>
    <img src="night.png" alt="夜景" id="nightImage" class="transparent"/>
  </div>
</body>
</html>

以上所述是小编给大家介绍的使用JavaScript触发过渡效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# javascript过渡  # 聊一聊Vue.js过渡效果  # Vue.js每天必学之过渡与动画  # Vuejs第七篇之Vuejs过渡动画案例全面解析  # js实现有过渡渐变效果的图片轮播相册(兼容IE  # ff)  # 基于javascript实现漂亮的页面过渡动画效果附源码下载  # 小编  # 样例  # 会有  # 在此  # 我们可以  # 给大家  # 可以实现  # 两张  # 很方便  # 所述  # 即在  # 给我留言  # 感谢大家  # 切换到  # 图上  # 疑问请  # 有任何  # brush  # html  # doctype 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何自定义建站之星网站的导航菜单样式?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  简历没回改:利用AI润色让你的文字更专业  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  canvas 画布在主流浏览器中的尺寸限制详细介绍  香港服务器租用每月最低只需15元?  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  Bootstrap整体框架之CSS12栅格系统  C语言设计一个闪闪的圣诞树  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  如何快速搭建虚拟主机网站?新手必看指南  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  奇安信“盘古石”团队突破 iOS 26.1 提权  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  如何在景安云服务器上绑定域名并配置虚拟主机?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何在建站宝盒中设置产品搜索功能?  网站建设整体流程解析,建站其实很容易!  phpredis提高消息队列的实时性方法(推荐)  实例解析angularjs的filter过滤器  Laravel如何处理异常和错误?(Handler示例)  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  如何利用DOS批处理实现定时关机操作详解  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  香港服务器网站卡顿?如何解决网络延迟与负载问题?  如何在企业微信快速生成手机电脑官网?  如何在阿里云完成域名注册与建站?  浅述节点的创建及常见功能的实现  Laravel如何实现本地化和多语言支持?(i18n教程)  如何在Tomcat中配置并部署网站项目?  怎么用AI帮你为初创公司进行市场定位分析?  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  使用Dockerfile构建java web环境  如何用虚拟主机快速搭建网站?详细步骤解析  魔方云NAT建站如何实现端口转发?  如何快速重置建站主机并恢复默认配置?  Laravel如何实现模型的全局作用域?(Global Scope示例)  如何快速启动建站代理加盟业务?  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】