Javascript+CSS实现影像卷帘效果思路及代码


Posted in Javascript onOctober 20, 2014

用过Arcgis的筒子们对于Arcmap里面的一个卷帘效果肯定记忆很深刻,想把它搬到自己的WebGIS系统中去,抱着同样的想法,我也对这种比较炫的卷帘效果做了一下研究,吼吼,出来了,给大家汇报一下成果

看到这样的效果,你是不是小鸡动了一下,嘿嘿,别急,听我慢慢道来。

首先,容器。分别用两个DIV来显示两个不同时期的影像。接下来设置两个容器的样式,代码:

#after{ 
position: absolute; 
top: 0px; 
left: 0px; 
background-image: url(../images/24.jpg); 
width: 940px; 
height: 529px; 
background-repeat: no-repeat; 
} 
#before{ 
position: absolute; 
top: 0px; 
left: 0px; 
border-right: 3px solid #f00; 
background-image: url(../images/23.jpg); 
width: 433px; 
height: 529px; 
background-repeat: no-repeat; 
max-width: 940px; 
}

这样,图片就在web上显示出来了。

接下来实现卷帘效果。实现卷帘,最主要的是设置before的宽度,如何去设置呢,就是获取鼠标的位置,代码如下:

function RollImage(evt){ 
var x=evt.pageX; 
console.log(x); 
$("#before").css("width",x+"px"); 
} 
/script>

这样,卷帘的效果就实现了。源代码如下:

style.css

.beforeafter{ 
width: 940px; 
height: 529px; 
} 
#after{ 
position: absolute; 
top: 0px; 
left: 0px; 
background-image: url(../images/24.jpg); 
width: 940px; 
height: 529px; 
background-repeat: no-repeat; 
} 
#before{ 
position: absolute; 
top: 0px; 
left: 0px; 
border-right: 3px solid #f00; 
background-image: url(../images/23.jpg); 
width: 433px; 
height: 529px; 
background-repeat: no-repeat; 
max-width: 940px; 
}

test.html

<html lang="zh-CN" xmlns="http://www.w3.org/1999/xhtml"><head> 
<title>日本地震灾区前后对比</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<meta http-equiv="Content-Language" content="zh-CN"> 
<link href="css/roll.css" type="text/css" rel="stylesheet"> 
<script src="../jquery-1.8.3.js" type="text/javascript" charset="utf-8"></script> 
<script type="text/javascript"> 
function RollImage(evt){ 
<strong>var x=evt.pageX; 
$("#before").css("width",x+"px");</strong> 
} 
</script> 
</head> 
<body> 
<div class="beforeafter" onmousemove="RollImage(event)"> 
<div id="after"></div> 
<div id="before"> </div> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
JavaScript isPrototypeOf和hasOwnProperty使用区别
Mar 04 Javascript
Javascript基础教程之while语句
Jan 18 Javascript
JavaScript中常用的六种互动方法示例
Mar 13 Javascript
javascript常用经典算法详解
Jan 11 Javascript
基于JavaScript实现轮播图原理及示例
Apr 10 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
Mar 21 Javascript
微信小程序实现YDUI的ScrollNav组件
Feb 02 Javascript
解决vue 引入子组件报错的问题
Sep 06 Javascript
PM2自动部署代码步骤流程总结
Dec 10 Javascript
简单分析js中的this的原理
Aug 31 Javascript
vue.js循环radio的实例
Nov 07 Javascript
js 将多个对象合并成一个对象 assign方法的实现
Sep 24 Javascript
利用jquery操作Radio方法小结
Oct 20 #Javascript
利用a标签自动解析URL分析网址实例
Oct 20 #Javascript
JavaScript严格模式禁用With语句的原因
Oct 20 #Javascript
jquery中页面Ajax方法$.load的功能使用介绍
Oct 20 #Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
Oct 20 #Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
Oct 19 #Javascript
js添加select下默认的option的value和text的方法
Oct 19 #Javascript
You might like
php实现MD5加密16位(不要默认的32位)
2013/08/12 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
PHP7.3.10编译安装教程
2019/10/08 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
2013/02/01 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
jquery超简单实现手风琴效果的方法
2015/06/05 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
2016/12/16 Javascript
Js实现京东无延迟菜单效果实例(demo)
2017/06/02 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
vue进入页面时滚动条始终在底部代码实例
2019/03/26 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
python定时检查某个进程是否已经关闭的方法
2015/05/20 Python
Python解析json文件相关知识学习
2016/03/01 Python
Python中文件的写入读取以及附加文字方法
2019/01/23 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
2019/04/29 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
python中安装django模块的方法
2020/03/12 Python
python如何运行js语句
2020/09/09 Python
如何用Python绘制3D柱形图
2020/09/16 Python
MAC彩妆英国官网:M·A·C UK
2018/05/30 全球购物
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
什么是触发器(trigger)? 触发器有什么作用?
2013/09/18 面试题
体育专业个人的求职信范文
2013/09/21 职场文书
外语学院毕业生的自我鉴定
2013/11/28 职场文书
科研先进个人典型材料
2014/01/31 职场文书
党员干部公开承诺书
2014/03/26 职场文书
2014年团支部年度工作总结
2014/12/24 职场文书
幼儿教师辞职信
2015/02/27 职场文书
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL
PostgreSQL自动更新时间戳实例代码
2021/11/27 PostgreSQL