使用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 相关文章推荐
传递参数的标准方法(jQuery.ajax)
Nov 19 Javascript
js onpropertychange输入框 事件获取属性
Mar 26 Javascript
js window.onload 加载多个函数和追加函数详解
Jan 08 Javascript
jQuery基于cookie实现的购物车实例分析
Dec 24 Javascript
jQuery实现验证年龄简单思路
Feb 24 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
May 28 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
Apr 18 Javascript
Bootstrap源码解读按钮(5)
Dec 23 Javascript
AngularJS获取json数据的方法详解
May 27 Javascript
Vue.js移动端左滑删除组件的实现代码
Sep 08 Javascript
详解element-ui中el-select的默认选择项问题
Aug 02 Javascript
Vue-CLI项目中路由传参的方式详解
Sep 01 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
一个简单计数器的源代码
2006/10/09 PHP
深入php list()函数的详解
2013/06/05 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
jQuery输入城市查看地图使用介绍
2013/05/08 Javascript
jquery实现预览提交的表单代码分享
2014/05/21 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
2014/12/14 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
2016/04/15 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
2016/04/19 Javascript
纯前端JavaScript实现Excel IO案例分享
2016/08/26 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
浅谈js函数的多种定义方法与区别
2016/11/29 Javascript
微信小程序 页面跳转和数据传递实例详解
2017/01/19 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
从零开始最小实现react服务器渲染详解
2018/01/26 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
[40:05]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第一局
2016/02/25 DOTA
Python 字典(Dictionary)操作详解
2014/03/11 Python
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
Django项目中包含多个应用时对url的配置方法
2018/05/30 Python
python使用rsa非对称加密过程解析
2019/12/28 Python
python安装dlib库报错问题及解决方法
2020/03/16 Python
python一些性能分析的技巧
2020/08/30 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
会务接待方案
2014/02/27 职场文书
2015年校务公开工作总结
2015/05/26 职场文书
检讨书之工作不认真
2019/08/14 职场文书
python 自动化偷懒的四个实用操作
2021/04/11 Python
python中pandas对多列进行分组统计的实现
2021/06/18 Python
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers