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 相关文章推荐
JQuery 1.4 中的Ajax问题
Jan 23 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
Apr 19 Javascript
javascript常见操作汇总
Sep 03 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
Nov 15 Javascript
JavaScript基础篇(6)之函数表达式闭包
Dec 11 Javascript
JavaScript Uploadify文件上传实例
Feb 28 Javascript
详解nuxt路由鉴权(express模板)
Nov 21 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
Dec 17 Javascript
JavaScript ES6中的简写语法总结与使用技巧
Dec 30 Javascript
其实你可以少写点if else与switch(推荐)
Jan 10 Javascript
Vue 自适应高度表格的实现方法
May 13 Javascript
vue.js页面加载执行created,mounted的先后顺序说明
Nov 07 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 出现乱码和Sessions验证问题的解决方法!
2008/12/06 PHP
PHP计划任务、定时执行任务的实现代码
2011/04/23 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
2014/06/30 PHP
ThinkPHP中使用ajax接收json数据的方法
2014/12/18 PHP
PHP合并discuz用户脚本的方法
2015/08/04 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
js对图片base64编码字符串进行解码并输出图像示例
2014/03/17 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
jQuery 中ajax异步调用的四种方式
2016/06/28 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
Ant design vue中的联动选择取消操作
2020/10/31 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
基于vue项目设置resolves.alias: '@'路径并适配webstorm
2020/12/02 Vue.js
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
Python基础语法(Python基础知识点)
2016/02/28 Python
python实现自动网页截图并裁剪图片
2018/07/30 Python
python实现录音小程序
2020/10/26 Python
使用Python进行目录的对比方法
2018/11/01 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
python多线程爬取西刺代理的示例代码
2021/01/30 Python
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
室内趣味活动方案
2014/08/24 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
爱的承诺书
2015/01/20 职场文书
故意伤害罪辩护词
2015/05/21 职场文书