使用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中使用&quot;with&quot;语句中跨frame的变量引用问题
Mar 08 Javascript
基于jquery的合并table相同单元格的插件(精简版)
Apr 05 Javascript
通过jQuery源码学习javascript(二)
Dec 27 Javascript
javascript数组的使用
Mar 28 Javascript
JavaScript中把数字转换为字符串的程序代码
Jun 19 Javascript
Jquery如何实现点击时高亮显示代码
Jan 22 Javascript
Jquery实现遮罩层的方法
Jun 08 Javascript
JavaScript对象数组排序函数及六个用法
Dec 23 Javascript
原生JS实现左右箭头选择日期实例代码
Mar 14 Javascript
js实现网页同时进行多个倒计时功能
Feb 25 Javascript
详细分析Node.js 模块系统
Jun 28 Javascript
JS中forEach()、map()、every()、some()和filter()的用法
May 11 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
无线电广播的开始
2002/01/30 无线电
php的memcached客户端memcached
2011/06/14 PHP
php中error与exception的区别及应用
2014/07/28 PHP
yii去掉必填项中星号的方法
2015/12/28 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
angularjs 处理多个异步请求方法汇总
2015/01/06 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
javascript运算符——位运算符全面介绍
2016/07/14 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
jquery实现焦点轮播效果
2017/02/23 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
JS扩展String.prototype.format字符串拼接的功能
2018/03/09 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
2018/11/06 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
python实现web方式logview的方法
2015/08/10 Python
django rest framework之请求与响应(详解)
2017/11/06 Python
python通过zabbix api获取主机
2018/09/17 Python
python multiprocessing模块用法及原理介绍
2019/08/20 Python
keras topN显示,自编写代码案例
2020/07/03 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
什么是makefile? 如何编写makefile?
2013/01/02 面试题
本科生求职简历的自我评价
2013/10/21 职场文书
应届毕业生求职信范文分享
2013/12/26 职场文书
保密协议书范本
2014/04/22 职场文书
旷工检讨书1000字
2015/01/01 职场文书
英语感谢信范文
2015/01/20 职场文书
记一次Mysql不走日期字段索引的原因小结
2021/10/24 MySQL
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python