使用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 相关文章推荐
js使用eval解析json(js中使用json)
Jan 17 Javascript
JS定义网页表单提交(submit)的方法
Mar 20 Javascript
Bootstrap表格和栅格分页实例详解
May 20 Javascript
jQuery EasyUI Pagination实现分页的常用方法
May 21 Javascript
BootStrap Tooltip插件源码解析
Dec 27 Javascript
完美的js图片轮换效果
Feb 05 Javascript
jquery实现折叠菜单效果【推荐】
Mar 08 Javascript
node.js将MongoDB数据同步到MySQL的步骤
Dec 10 Javascript
详解Vue取消eslint语法限制
Aug 04 Javascript
vue单页应用在页面刷新时保留状态数据的方法
Sep 21 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
Sep 09 Javascript
vue项目中锚点定位替代方式
Nov 13 Javascript
详解支持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
将OICQ数据转成MYSQL数据
2006/10/09 PHP
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
2018/09/07 PHP
JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理
2009/10/25 Javascript
js 上传图片预览问题
2010/12/06 Javascript
Ext对基本类型的扩展 ext,extjs,format
2010/12/25 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
javascript数组快速打乱重排的方法
2014/01/02 Javascript
jquery中filter方法用法实例分析
2015/02/06 Javascript
nodejs 中模拟实现 emmiter 自定义事件
2016/02/22 NodeJs
JavaScript动态生成二维码图片
2016/04/20 Javascript
SelecT下拉框选中和取值的解决方法
2016/11/22 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
2017/01/23 Javascript
js实现楼层导航功能
2017/02/23 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
2018/09/06 jQuery
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
JS实现简单的文字无缝上下滚动功能示例
2019/06/22 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
浅谈python中set使用
2016/06/30 Python
python字符串过滤性能比较5种方法
2017/06/22 Python
python实现图片压缩代码实例
2019/08/12 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
详解Python的三种拷贝方式
2020/02/11 Python
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
String是最基本的数据类型吗?
2013/06/13 面试题
大学毕业自我鉴定范文
2014/02/03 职场文书
初三学习决心书
2014/03/11 职场文书
民主生活会发言材料
2014/10/20 职场文书
2015年敬老院工作总结
2015/05/18 职场文书
初中毕业生感言
2015/07/31 职场文书
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js