原生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 相关文章推荐
Thinkphp模板没有解析直接原样输出的解决方法
Oct 31 Javascript
利用js实现禁止复制文本信息
Jun 03 Javascript
js防阻塞加载的实现方法
Sep 09 Javascript
兼容浏览器的js事件绑定函数(详解)
May 09 Javascript
vue.js获取数据库数据实例代码
May 26 Javascript
关于javascript sort()排序你可能忽略的一点理解
Jul 18 Javascript
webpack之引入图片的实现及问题
Oct 08 Javascript
ES6小技巧之代替lodash
Jun 07 Javascript
vue elementUI使用tabs与导航栏联动
Jun 21 Javascript
微信小程序 导入图标实现过程详解
Oct 11 Javascript
vue下canvas裁剪图片实例讲解
Apr 16 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
Nov 16 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
深入PHP FTP类的详解
2013/06/13 PHP
php中实现精确设置session过期时间的方法
2014/07/17 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
2017/06/02 PHP
use jscript with List Proxy Server Information
2007/06/11 Javascript
IE和Firefox下javascript的兼容写法小结
2008/12/10 Javascript
js去除空格的12种实用方法
2013/11/08 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
2015/11/26 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
react实现菜单权限控制的方法
2017/12/11 Javascript
对vue.js中this.$emit的深入理解
2018/02/23 Javascript
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
Javascript原生ajax请求代码实例
2020/02/20 Javascript
vue中template的三种写法示例
2020/10/21 Javascript
Python函数中的函数(闭包)用法实例
2016/03/15 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
Python实现控制台中的进度条功能代码
2017/12/22 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
2019/03/05 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
python实现按日期归档文件
2021/01/30 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
Ever New美国:澳大利亚领先的女装时尚品牌
2019/11/28 全球购物
介绍一下Linux中的链接
2016/06/05 面试题
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
职工运动会邀请函
2014/02/02 职场文书
建设投标担保书
2014/05/13 职场文书
《老人与海鸥》教学反思
2016/02/16 职场文书
详解Vue router路由
2021/11/20 Vue.js
Python机器学习实战之k-近邻算法的实现
2021/11/27 Python
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python