使用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 相关文章推荐
根据分辩率调用不同的CSS.
Jan 08 Javascript
jQuery 可以拖动的div实现代码 脚本之家修正版
Jun 26 Javascript
js 动态文字滚动的例子
Jan 17 Javascript
用jquery实现自定义风格的滑动条实现代码
Apr 26 Javascript
DWZ table的原生分页浅谈
Mar 01 Javascript
jquery动态添加元素事件失效问题解决方法
May 23 Javascript
js读写json文件实例代码
Oct 21 Javascript
深入剖析JavaScript:Object类型
May 10 Javascript
js 毫秒转天时分秒的实例
Nov 17 Javascript
vue 利用路由守卫判断是否登录的方法
Sep 29 Javascript
在vue中使用echars实现上浮与下钻效果
Nov 08 Javascript
uniapp实现可以左右滑动导航栏
Oct 21 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
Search Engine Friendly的URL设计
2006/10/09 PHP
PHP CKEditor 上传图片实现代码
2009/11/06 PHP
php利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
如何在php中正确的使用json
2013/08/06 PHP
javascript 自动转到命名锚记
2009/01/10 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
比较搞笑的js陷阱题
2010/02/07 Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
javascript 寻找错误方法整理
2014/06/15 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
Javascript复制实例详解
2016/01/28 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
2016/08/20 Javascript
JavaScript中动态向表格添加数据
2017/01/24 Javascript
基于jQuery实现咖啡订单管理简单应用
2017/02/10 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
微信小程序如何获取openid及用户信息
2018/01/26 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
JS高阶函数原理与用法实例分析
2019/01/15 Javascript
vue数据初始化initState的实例详解
2019/04/11 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
Numpy之文件存取的示例代码
2018/08/03 Python
如何在Django项目中引入静态文件
2019/07/26 Python
PyTorch加载自己的数据集实例详解
2020/03/18 Python
详解HTML5 window.postMessage与跨域
2017/05/11 HTML / CSS
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
机关工会开展学习雷锋活动总结
2014/03/01 职场文书
元旦文艺汇演主持词
2014/03/26 职场文书
学校安全防火方案
2014/06/07 职场文书
学雷锋倡议书
2015/01/19 职场文书
行政复议答复书
2015/07/01 职场文书