原生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 相关文章推荐
网络之美 JavaScript中Get和Set访问器的实现代码
Sep 19 Javascript
超越Jquery_01_isPlainObject分析与重构
Oct 20 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
Nov 21 Javascript
JS中数组Array的用法示例介绍
Feb 20 Javascript
jquery实现效果比较好的table选中行颜色
Mar 25 Javascript
Javascript 实现复制(Copy)动作方法大全
Jun 20 Javascript
14个有用的Jquery技巧分享
Jan 08 Javascript
AngularJS基础知识笔记之表格
May 10 Javascript
js实现纯前端的图片预览
Apr 27 Javascript
JavaScript的词法结构精华篇
Oct 17 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
Jun 11 Javascript
JavaScript大数相加相乘的实现方法实例
Oct 18 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
使用 php4 加速 web 传输
2006/10/09 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
PHP请求Socket接口测试实例
2016/08/12 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
2015/01/23 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
2018/02/22 Javascript
vue实现微信二次分享以及自定义分享的示例
2019/03/20 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
2019/11/07 Javascript
基python实现多线程网页爬虫
2015/09/06 Python
Python字符串特性及常用字符串方法的简单笔记
2016/01/04 Python
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
python学习笔记之列表(list)与元组(tuple)详解
2017/11/23 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
深入了解Django中间件及其方法
2019/07/26 Python
Python爬虫之爬取淘女郎照片示例详解
2020/07/28 Python
Python爬虫之Selenium实现窗口截图
2020/12/04 Python
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
创业计划书撰写原则
2014/01/25 职场文书
领导干部考察材料
2014/02/08 职场文书
生物制药专业自我鉴定
2014/02/19 职场文书
交通事故调解协议书
2014/04/16 职场文书
《歌唱二小放牛郎》教学反思
2014/04/19 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
销售员自我评价
2015/03/11 职场文书
高一军训感想
2015/08/07 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书
Nginx配置Https安全认证的实现
2021/05/26 Servers
JavaScript实现优先级队列
2021/12/06 Javascript