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 web对话框与弹出窗口
Feb 22 Javascript
利用jQuery 实现GridView异步排序、分页的代码
Feb 06 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
Apr 15 Javascript
jQuery 获取和设置select下拉框的值实现代码
Nov 08 Javascript
Javascript学习笔记之相等符号与严格相等符号
Nov 23 Javascript
JS运动框架之分享侧边栏动画实例
Mar 03 Javascript
JS特效实现图片自动播放并可控的效果
Jul 31 Javascript
第十章之巨幕页头缩略图与警告框组件
Apr 25 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
Dec 25 Javascript
Vue循环组件加validate多表单验证的实例
Sep 18 Javascript
JavaScript onclick事件使用方法详解
May 15 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
Dec 10 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 正则匹配函数体
2009/08/25 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
2010/10/25 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
2014/04/24 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
2016/01/08 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
2016/03/21 PHP
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
js 获取服务器控件值的代码
2010/03/05 Javascript
JavaScript中数组的排序、乱序和搜索实现代码
2011/11/30 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
2014/05/23 Javascript
jQuery获取动态生成的元素示例
2014/06/15 Javascript
如何在MVC应用程序中使用Jquery
2014/11/17 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
利用JQuery实现datatables插件的增加和删除行功能
2017/01/06 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
详解cordova打包成webapp的方法
2017/10/18 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
js canvas实现橡皮擦效果
2018/12/20 Javascript
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
JS实现的新闻列表自动滚动效果示例
2019/01/30 Javascript
Vue 中可以定义组件模版的几种方式
2019/08/06 Javascript
微信小程序之 catalog 切换实现解析
2019/09/12 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
[52:29]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第三局
2016/03/03 DOTA
儿童编程python入门
2018/05/08 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
python爬虫添加请求头代码实例
2019/12/28 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
大学生个人年度总结范文
2015/02/15 职场文书
python开发的自动化运维工具ansible详解
2021/08/07 Python