如何在背景图像上上下滑动图像以创建扫描效果
How can I slide a image up and down over a background image to create a scanning effect?
我可以看到一个很好的扫描效果(在GTmetrix上),其中图像在背景图像上上下移动。
他们使用JavaScript来实现这一点,但我想知道这是否可以用CSS来实现,或者如果不能,我如何用JavaScript来实现?
我的代码是:
<style>
#screenshot {
margin: 8px auto 0 auto;
border-radius: 8px;
border: 2px solid #e4e4e4;
width: 300px;
height: 225px;
background: url("background-box.png") no-repeat center center;
position: relative;
}
#scanner {
position: absolute;
top: -7px;
left: -19px;
}
</style>
<div id="screenshot">
<img src="scanner.png" alt="" id="scanner" />
</div>
如果你想用javascript做这件事,这里有一个我做的工作示例。你必须使用jquery来获取scannerdiv。它有无尽的动画,你可以改变速度和高度。速度必须是毫秒(1000ms是1秒)animatescanner(高度、速度);
链接:http://jsfiddle.net/kfg9nutx/1/
Javascript:
x = 0;
xstate=0;
function animatescanner(height,speed){
setInterval(function(){ animateit(height); },speed);
}
function animateit(height){
if(x==0){xstate=0}
if(xstate==0){x++}
if(xstate==1){x--}
if(x==height){xstate=1}
$("#scanner").css("top",x);
}
animatescanner(225,5);
不要忘记包含jquery。
使用jQuery animate函数可以很容易地做到这一点:http://api.jquery.com/animate/
<div id="screenshot">
<img src="scanner.png" alt="" id="scanner" style="position:relative; left:0px;" />
</div>
并在您希望图像移动时调用javascript:
<script>$("#scanner").animate({left:50}, 5000);</script>
也可以使用边距而不是位置设置动画。堆栈溢出的另一个问题。。。使用动画从位置A缓慢移动到位置B
相关文章:
- 为在外部单击时关闭的库图像创建预览效果
- 如何为图像创建“另存为”按钮
- 如何为图像创建具有随机大小的磁贴照片库
- 从网页中的 2 张图像创建新图像
- Javascript/Canvas - 从预先存在的图像创建新图像
- 从 1 个图像创建多个过渡按钮
- 使用 JavaScript 和 CSS 使用 2 张图像创建进度条
- 建议为选择图像创建代码
- 如何从 mysql 数据库中的图像创建图像幻灯片
- 已经为单个图像创建了点击效果,但希望其他图像具有相同的效果
- 如何限制xml文件中显示的12个图像,并自动为其他图像创建页面
- 通过数据库为图像创建上传/下载功能
- Javascript客户端-从网页上的现有图像创建新图像
- Jquery动态图像创建和动画
- 为容器中的非全宽图像创建视差效果
- 为滑块上显示的每个图像创建一个id(Basic jQuery slider)
- 简单的JSZip -从现有的图像创建Zip文件
- 在javascript上从图像创建画布
- 如何从图像创建缩略图
- 在复制时,TinyMCE PowerPaste插件并不总是为图像创建base64字符串