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


Posted in Javascript onJanuary 19, 2017

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

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

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

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

(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 相关文章推荐
url 特殊字符 传递参数解决方法
Jan 01 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
Feb 25 Javascript
做web开发 先学JavaScript
Dec 12 Javascript
JavaScript在网页中画圆的函数arc使用方法
Nov 13 Javascript
详解jQuery插件开发方式
Nov 22 Javascript
简单三步实现报表页面集成天气
Dec 15 Javascript
详解Sea.js中Module.exports和exports的区别
Feb 12 Javascript
jQuery实现简单日期格式化功能示例
Sep 19 jQuery
JavaScript数组的5种迭代方法
Sep 29 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
Nov 24 Javascript
浅析js中mvvm模式实现的原理
Oct 06 Javascript
vue3.0 自适应不同分辨率电脑的操作
Feb 06 Vue.js
详解支持Angular 2的表格控件
Jan 19 #Javascript
原生JS实现几个常用DOM操作API实例
Jan 19 #Javascript
JS生成一维码(条形码)功能示例
Jan 19 #Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
Jan 19 #Javascript
javascript中json基础知识详解
Jan 19 #Javascript
JavaScript实现垂直滚动条效果
Jan 18 #Javascript
JavaScript实现水平进度条拖拽效果
Jan 18 #Javascript
You might like
我的论坛源代码(十)
2006/10/09 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
Jquery作者John Resig自己封装的javascript 常用函数
2009/11/09 Javascript
关于jquery input textare 事件绑定及用法学习
2013/04/03 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
详解 javascript中offsetleft属性的用法
2015/11/11 Javascript
nodejs修复ipa处理过的png图片
2016/02/17 NodeJs
深入理解Vuex 模块化(module)
2017/09/26 Javascript
详解PHP后期静态绑定分析与应用
2018/03/21 Javascript
微信小程序系列之自定义顶部导航功能
2019/05/21 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
vue 实现element-ui中的加载中状态
2020/11/11 Javascript
Python subprocess模块常见用法分析
2018/06/12 Python
在Mac下使用python实现简单的目录树展示方法
2018/11/01 Python
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
2019/07/07 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
Django 设置多环境配置文件载入问题
2020/02/25 Python
Keras中的两种模型:Sequential和Model用法
2020/06/27 Python
Python执行时间的几种计算方法
2020/07/31 Python
Python 代码调试技巧示例代码
2020/08/11 Python
CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
2017/08/18 HTML / CSS
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
2016/12/20 HTML / CSS
人事助理岗位职责
2013/11/18 职场文书
幼儿园老师辞职信
2014/01/20 职场文书
制作部班长职位说明书
2014/02/26 职场文书
消防安全员岗位职责
2014/03/10 职场文书
2016年小学教师政治学习心得体会
2016/01/23 职场文书
解除租赁合同协议书
2016/03/21 职场文书
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js