Javascript+CSS实现影像卷帘效果思路及代码
用过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:3pxsolid#f00;
background-image:url(../images/23.jpg);
width:433px;
height:529px;
background-repeat:no-repeat;
max-width:940px;
}
这样,图片就在web上显示出来了。
接下来实现卷帘效果。实现卷帘,最主要的是设置before的宽度,如何去设置呢,就是获取鼠标的位置,代码如下:
functionRollImage(evt){
varx=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:3pxsolid#f00;
background-image:url(../images/23.jpg);
width:433px;
height:529px;
background-repeat:no-repeat;
max-width:940px;
}
test.html
<htmllang="zh-CN"xmlns="http://www.w3.org/1999/xhtml"><head>
<title>日本地震灾区前后对比</title>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8">
<metahttp-equiv="Content-Language"content="zh-CN">
<linkhref="css/roll.css"type="text/css"rel="stylesheet">
<scriptsrc="../jquery-1.8.3.js"type="text/javascript"charset="utf-8"></script>
<scripttype="text/javascript">
functionRollImage(evt){
<strong>varx=evt.pageX;
$("#before").css("width",x+"px");</strong>
}
</script>
</head>
<body>
<divclass="beforeafter"onmousemove="RollImage(event)">
<divid="after"></div>
<divid="before"></div>
</div>
</body>
</html>