JavaScript实现左右滚动电影画布

作者:纸飞机

时间:2026-10-23

浏览:419

本文介绍使用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>

JavaScript实现左右滚动电影画布

注意事项:容纳图片的容器必须设置为绝对定位,否则图片无法移动。也可以不将图片放入容器,但需直接对图片设置绝对定位,否则同样无法实现移动效果。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章