JavaScript实现左右滚动电影画布


Posted in Javascript onFebruary 06, 2020

本文实例为大家分享了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实现左右滚动电影画布

收获:需要将容纳图片的盒子设置绝对定位,否则图片不会移动,也可不将图片放在盒子里,但是必须对图片设置绝对定位,否则不移动

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

Javascript 相关文章推荐
prototype 学习笔记整理
Jul 17 Javascript
js捕获鼠标滚轮事件代码
Dec 16 Javascript
JS调试必备的5个debug技巧
Mar 07 Javascript
js函数模拟显示桌面.scf程序示例
Apr 20 Javascript
AngularJS中处理多个promise的方式
Feb 02 Javascript
js面向对象编程总结
Feb 16 Javascript
vue实现单选和多选功能
Aug 11 Javascript
详解Angular5路由传值方式及其相关问题
Apr 28 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
Jan 28 Javascript
解决vue路由name同名,路由重复的问题
Aug 05 Javascript
JS实现简易日历效果
Jan 25 Javascript
JavaScript使用canvas绘制坐标和线
Apr 28 Javascript
6种JavaScript继承方式及优缺点(小结)
Feb 06 #Javascript
使用node.JS中的url模块解析URL信息
Feb 06 #Javascript
Node.JS获取GET,POST数据之queryString模块使用方法详解
Feb 06 #Javascript
node.JS事件机制与events事件模块的使用方法详解
Feb 06 #Javascript
如何通过javaScript去除字符串两端的空白字符
Feb 06 #Javascript
ckeditor一键排版功能实现方法分析
Feb 06 #Javascript
JavaScript如何判断input数据类型
Feb 06 #Javascript
You might like
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
jquery调用wcf并展示出数据的方法
2011/07/07 Javascript
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
有关jQuery中parent()和siblings()的小问题
2016/06/01 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
2016/07/22 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
Node.js常用工具之util模块
2017/03/09 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
详解用node.js实现简单的反向代理
2017/06/26 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
原生JS实现多个小球碰撞反弹效果示例
2018/01/31 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
vue实现拖拽效果
2019/12/23 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
[04:52]2015国际邀请赛LGD战队晋级之路
2015/08/14 DOTA
Python的动态重新封装的教程
2015/04/11 Python
Python 正则表达式的高级用法
2016/12/04 Python
python+pyqt实现右下角弹出框
2017/10/26 Python
Python爬取附近餐馆信息代码示例
2017/12/09 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
python属于软件吗
2020/06/18 Python
Python实现随机爬山算法
2021/01/29 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
乌克兰移动电子产品和相关配件的在线商店:iTMag
2020/03/16 全球购物
2014年公司植树节活动方案
2014/03/04 职场文书
教师工作表现评语
2014/12/31 职场文书
2015年双拥工作总结
2015/04/08 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书
2019升学宴主持词范本5篇
2019/10/09 职场文书
Python之matplotlib绘制饼图
2022/04/13 Python
Go 内联优化让程序员爱不释手
2022/06/21 Golang