原生javascript实现的图片背景定位

首先说明我还是给菜鸟,平时逛逛博客园看看大神的博客!本着分享的心情写下自己之前完成的作品,总体来说还算满意。

看以通过键盘事件和按扭实现背景的移动

不多说上代码

  1 <!DOCTYPE html>
  2 <html>
  3     <head>
  4         <meta charset="utf-8" />
  5         <title>图片背景定位</title>
  6         <style type="text/css">
  7             .main{
  8                 margin: 0 auto;
  9                 width: 1000px;
 10                 text-align: center;
 11             }
 12             #bg{
 13                 margin: 0 auto;
 14                 position: relative;
 15                 margin-top: 100px;
 16                 width: 400px;
 17                 height: 200px;
 18                 background: url(img/1.jpg) no-repeat;
 19                 background-position-x: 0px;
 20                 background-position-y: 0px;
 21             }
 22             .showimg{
 23                 position: absolute;
 24                 top: 0;
 25                 left: 0;
 26                 width: 396px;
 27                 height: 196px;
 28                 border: 2px solid red;
 29                 z-index: 999;
 30             }
 31             .pageimg{
 32                 position: absolute;
 33                 top: 200px;
 34                 left: 0;
 35                 width: 400px;
 36                 background-color: #FFFFFF;
 37                 z-index: 999;
 38             }
 39
 40         </style>
 41         <script type="text/javascript">
 42            document.onkeydown=function(event){
 43              var e = event || window.event || arguments.callee.caller.arguments[0];
 44
 45                      if(e && e.keyCode==37){ // enter 键
 46                   //要做的事情
 47                    goto(-10,‘background-position-x‘);
 48              }
 49
 50                      if(e && e.keyCode==38){ // enter 键
 51                               //要做的事情
 52                     //alert("按 38");
 53                     goto(-10,‘background-position-y‘);
 54                          }
 55                      if(e && e.keyCode==39){ // enter 键
 56                   //要做的事情
 57                    goto(10,‘background-position-x‘);
 58              }
 59                      if(e && e.keyCode==40){ // enter 键
 60                               //要做的事情
 61                      //alert("按 40");
 62                      goto(10,‘background-position-y‘)
 63                          }
 64
 65                      };
 66
 67
 68            function getStyle(obj,name){
 69                 if(obj.currentStyle){
 70                     return obj.currentStyle[name];
 71                 }else{
 72                     return getComputedStyle(obj,false)[name];
 73                 }
 74             }
 75
 76             function goto(step,direction){
 77                 var bg = document.getElementById("bg");
 78                 //获取当前定位坐标  及下标字符  只要数字
 79                 var mydirection = (getStyle(bg,direction)).substr(0,(getStyle(bg,direction)).length-2);
 80                 //取整
 81                 var speed = parseFloat(mydirection)+parseFloat(step);
 82                 bg.style[direction] =  speed + ‘px‘;
 83                     }
 84
 85         </script>
 86
 87     </head>
 88     <body>
 89
 90         <div class="main">
 91             <input type="button" value="向上移动" id="moveup" onclick="goto(-10,‘background-position-y‘)" />
 92             <input type="button" value="向下移动" id="movedown" onclick="goto(10,‘background-position-y‘)" />
 93             <input type="button" value="向左移动" id="moveleft" onclick="goto(-10,‘background-position-x‘)" />
 94             <input type="button" value="向右移动" id="moveright" onclick="goto(10,‘background-position-x‘)" />
 95         <div id="bg">
 96             <div class="showimg"></div>
 97             <div class="pageimg"></div>
 98         </div>
 99         </div>
100     </body>
101 </html>
时间: 2024-11-05 19:44:39

原生javascript实现的图片背景定位的相关文章

原生JavaScript实现的图片轮播左右滑动效果函数封装

原生js实现的图片轮播左右滑动效果函数封装 方便以后需要的时候拿出来复用. 适合新手学习使用. 使用方法轮播图的html结构就不多说了.不过有一点:为了实现无缝无限轮播,需要在三张图片的最前面和最后面再额外添加两张图片(见下),原理简单说就是当图片滑动到最后一张时立马跳到第二张,眼睛看上去就像前后无缝一样. 把img_slider.js引入html,然后编辑window.onload = (function () { ··· });中的内容. (获取图片床,按钮,标识等元素.然后调用slideI

有关css图片背景定位技术

1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>无标题文档</title> 6 <style> 7 button.cc{ 8 background-image:url(xl.png); 9 background-position:left bottom;/*用背景图片定位的时候一定要写宽高*/ 10 width:

【原生javascript】margin-top实现淘宝首页图片滚动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta h

原生JavaScript技巧大收集100个

原生JavaScript技巧大收集 1.原生JavaScript实现字符串长度截取function cutstr(str, len) { var temp; var icount = 0; var patrn = /[^\x00-\xff]/; var strre = ""; for (var i = 0; i < str.length; i++) { if (icount < len - 1) { temp = str.substr(i, 1); if (patrn.ex

使用原生JavaScript发送ajax请求

关于使用原生JavaScript发送异步请求给服务端. 准备工作: 代码编写工具用的是sublime 服务端使用的是wamp搭的一个本地Apache服务器,主要用来返回数据 方便测试 步骤: 浏览器端 html标签绑定事件发送ajax请求----> 五步操作:1 创建异步对象XMLHttpRequest; 2 设置method url 3 发送请求给服务端 4 注册事件   5 在事件中获取服务端返回的数据,进行操作. 服务器端 1 获取请求数据 2 返回结果给浏览器 下面来一个小demo1做一

JavaScript实现判断图片是否加载完成的3种方法整理

JavaScript实现判断图片是否加载完成的3种方法整理 有时候我们在前端开发工作中为了获取图片的信息,需要在图片加载完成后才可以正确的获取到图片的大小尺寸,并且执行相应的回调函数使图片产生某种显示效果.本文主要整理了几种常见的javascipt判断图片加载完成时的方法,并通过代码与实际应用相结合进行解释与说明. onload方法 通过向img标签添加onload属性,并填入相应的函数来执行后续的javascipt代码.如下代码例子中img元素默认是不显示的,通过onload判断加载完成后再将

使用原生javascript如何读写css样式?

一说起操作css样式很多人都会想到jQuery的css方法: $(selector).css(name) ,但是有思考过如何使用原生javascript来实现类似的功能么?本文和大家分享的就是使用原生javascript实现css样式相关内容,一起来看看吧,希望对大家学习javascript有所帮助. 大家最熟悉的原生js操作样式的方法非DOM中的Style对象莫属了,但是这个方法只能获取和修改html文档中的内联样式,无法操作非内联样式(内部样式和外部样式表).我通过搜索和整理,总结了使用原生

CSS雪碧图的实现方法(即背景定位)

如图:想往当前的容器内放一个背景图片上的某个小图片,当前容器暂用div表示 <div class="sprite"></div> //样式 <style> //首先设定容器的宽高,即要放置的小图片的大小,否则背景图片就会超出显示了 如图片背景图片大小为80*20,图片名称sprite01.png ,小图片的坐标位置为(67,97)所以小图的定位相对原点来说是(-67,-97),如此即可. .sprite{ width:80px; height:20p

[css]《css揭秘》学习(三)-灵活的背景定位

一.background-position属性 使用该属性,在不确定容器大小的情况下,也可以指定图案距离容器边缘的位置:但是需要为不支持该属性的浏览器指定回退方案,否则,图案会默认放在左上角. 1 <html> 2 <head> 3 <meta charset="utf-8"> 4 <title>灵活的背景定位</title> 5 <style type="text/css"> 6 div{ 7