原生JS实现圣旨卷轴展开效果


Posted in Javascript onMarch 06, 2017

在其他网站看见类似效果,但代码有400多行且看不懂,我用60多行的代码给予实现。

实现原理:(1)利用绝对定位固定好起始位置;(2)利用遮罩将右轴右侧的部分遮住;(3)让右轴和遮罩同时同速度向右运动!

效果图:

原生JS实现圣旨卷轴展开效果

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>诏书</title>
 <style type="text/css">
 * {
  margin: 0;
  padding: 0;
 }
 #animate {
  margin: 40px auto;
  width: 495px;
  height: 150px;
  position: relative;
  overflow: hidden;
 }
 #back {
  width: 495px;
  height: 150px;
  position: absolute;
  left: 0;
  top: 10px;
  background: url(http://cdn.attach.qdfuns.com/notes/pics/201703/04/191654mcfqzdfrxann5551.png) no-repeat;
 }
 #left {
  position: absolute;
  left: 0;
 }
 #right {
  position: absolute;
  left: 16px;
 }
 #mark {
  position: absolute;
  left: 44px;
 }
 </style>
</head>
<body>
<div id="animate">
 <div id="back"><img src="http://cdn.attach.qdfuns.com/notes/pics/201703/04/191214ug6h47d81jyfy6vh.png"/></div>
 <div id="left"><img src="http://cdn.attach.qdfuns.com/notes/pics/201703/04/191236gldigxmxg2zlh9s7.png"/></div>
 <div id="right"><img src="http://cdn.attach.qdfuns.com/notes/pics/201703/04/191244uhavf49l1zw440cv.png"/></div>
 <div id="mark"><img src="http://cdn.attach.qdfuns.com/notes/pics/201703/04/191254kfbz2tjupc1jigbb.png"/></div>
</div>
</body>
<script>
 var animate=document.getElementById("animate");
 var right = document.getElementById("right");
 var mark = document.getElementById("mark");
 var timer = setInterval(function () {
 var right1=getComputedStyle(right).left;
 var mark1=getComputedStyle(mark).left;
 if(parseFloat(right1)>=447){
  right1=447+"px";
  clearInterval(timer);
 }
 right.style.left=(parseFloat(right1)+10)+"px";
 mark.style.left=(parseFloat(mark1)+10)+"px";
 }, 100)
</script>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
jquery 表单取值常用代码
Dec 22 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
Jan 11 Javascript
Bootstrap模态框(Modal)实现过渡效果
Mar 17 Javascript
Node学习记录之cluster模块
May 31 Javascript
js实现本地图片文件拖拽效果
Jul 18 Javascript
Vue.js项目模板搭建图文教程
Sep 20 Javascript
JS实现数组去重及数组内对象去重功能示例
Feb 02 Javascript
Vue 处理表单input单行文本框的实例代码
May 09 Javascript
jquery实现二级导航下拉菜单效果实例
May 14 jQuery
Vue 样式切换及三元判断样式关联操作
Aug 09 Javascript
Vue自定义表单内容检查rules实例
Oct 30 Javascript
JavaScript实现跟随鼠标移动的盒子
Jan 28 Javascript
js中setTimeout的妙用--防止循环超时
Mar 06 #Javascript
Bootstrap表单简单实现代码
Mar 06 #Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
Mar 06 #Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
Mar 06 #Javascript
Bootstrap显示与隐藏简单实现代码
Mar 06 #Javascript
jQuery时间验证和转换为标准格式的时间格式
Mar 06 #Javascript
Bootstrap导航中表单简单实现代码
Mar 06 #Javascript
You might like
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
Javascript复制实例详解
2016/01/28 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
2017/05/10 Javascript
vue中的计算属性的使用和vue实例的方法示例
2017/12/04 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
详解微信小程序调用支付接口支付
2019/04/28 Javascript
微信小程序 网络通信实现详解
2019/07/23 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
2019/09/19 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
Vue实现boradcast和dispatch的示例
2020/11/13 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
[01:02:03]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS VG
2014/05/26 DOTA
[02:23]1个至宝=115个英雄特效 最“绿”至宝拉比克“魔导师密钥”登场
2018/12/29 DOTA
Windows下Python的Django框架环境部署及应用编写入门
2016/03/10 Python
Python初学时购物车程序练习实例(推荐)
2017/08/08 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
Flask中endpoint的理解(小结)
2019/12/11 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
HTML5 本地存储之如果没有数据库究竟会怎样
2013/04/25 HTML / CSS
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
学习雷锋精神倡议书
2015/04/27 职场文书
预备党员党支部意见
2015/06/02 职场文书