本文介绍使用JavaScript实现左右滚动电影画布的方法。通过设置图片容器的绝对定位,并监听鼠标在屏幕左右区域及外部的悬停事件,控制图片的移动与暂停,实现交互效果。
JavaScript实现左右滚动电影画布
本文分享了一段JavaScript实现左右滚动电影画布的代码示例,供读者参考。
实现效果如下:
1. 鼠标悬停在图片左侧区域时,图片向右移动。 2. 鼠标悬停在图片右侧区域时,图片向左移动。 3. 鼠标移出图片区域时,图片停止移动。
实现步骤如下:
1. 将图片显示区域定义为一个“屏幕”盒子,并设置溢出隐藏。 2. 将图片放入一个较大的容器盒子中。将屏幕分为左、右两个部分,分别对左右部分设置鼠标悬停(onmouseover)事件,对整个屏幕设置鼠标离开(onmouseout)事件。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>左右滚动的电影画布</title>
<style>
.screen{
width: 1024px;
height: 768px;
position: relative;
overflow: hidden;
margin: 100px auto;
}
.box{
width: 2180px;
height: 500px;
position:absolute;
}
.screen span{
width: 512px;
height: 500px;
cursor: pointer;
position: absolute;
}
.screen .left{
top: 0;
left: 0;
}
.screen .right{
left: 512px;
top: 0;
}
</style>
<script>
function $(id){
return document.getElementById(id);
}
window.onload = function(){
var box = $('box');
var left = $('left');
var right = $('right');
var timer;
var num = 0;
left.onmouseover = function(){
timer = setInterval(function(){
box.style.left = num + 'px';
num++;
if(num >= 0){
clearInterval(timer);
}
},20)
}
right.onmouseover = function(){
timer = setInterval(function(){
box.style.left = num + 'px';
num--;
if(num <= -1156){
clearInterval(timer);
}
},20)
}
$('screen').onmouseout = function(){
clearInterval(timer);
}
}
</script>
</head>
<body>
<div id="screen" class="screen"> <!-- 屏幕显示内容-->
<div id="box" class="box"> <!--用于装图片的盒子-->
<img src="imgs/mj.jpg" alt="图片" id="pic">
</div>
<span id="left" class="left"></span>
<span id="right" class="right"></span>
</div>
</body>
</html>

注意事项:容纳图片的容器必须设置为绝对定位,否则图片无法移动。也可以不将图片放入容器,但需直接对图片设置绝对定位,否则同样无法实现移动效果。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。