<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title>slideDoor</title>
<link type="text/css" rel="stylesheet" href="../common/reset.css" />
<link type="text/css" rel="stylesheet" href="css/slideDoor.css" />
</head> <body>
<div id='container'>
<img src="img/door1.png" alt="1080P神器" title="1080P神器" />
<img src="img/door2.png" alt="5.5寸四核" title="5.5寸四核" />
<img src="img/door3.png" alt="四核5寸" title="四核5寸" />
<img src="img/door4.png" alt="5.7寸机皇" title="5.7寸机皇" />
</div>
</body>
<script type="text/javascript" src="js/slideDoor.js"></script> </html>
#container {
height: 477px;
margin: 0 auto;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
overflow: hidden;
position: relative;
} #container img {
position: absolute;
display: block;
left: 0;
border-left: 1px solid #ccc;
}

  

window.onload = function() {
// 容器对象
var box = document.getElementById('container'); // 获得图片的集合
var imgs = box.getElementsByTagName('img'); var len = imgs.length; // 单张图片的宽度
var imgWidth = imgs[0].offsetWidth; // 图片露出的宽度
var exposeWidth = 160; // 设置容器的总宽度
var boxWidth = imgWidth + (len - 1) * exposeWidth; // 每个door 滑动的距离
var translate = imgWidth - exposeWidth; box.style.width = boxWidth + 'px'; // 设置door 的初始位置
function setImgsPos() {
for (var i = 1; i < len; i++) {
imgs[i].style.left = imgWidth + exposeWidth * (i - 1) + "px";
}
} setImgsPos(); // 为door 绑定事件
for (var i = 0; i < len; i++) {
// 立即调用的函数表达式,为了获得不同的i值
(function(i) {
imgs[i].onmouseover = function() {
// 先将每道门复位
setImgsPos();
// 打开门
for (var j = 1; j <= i; j++) {
imgs[j].style.left = parseInt(imgs[j].style.left, 10) - translate + 'px';
}
}
})(i); } }

  

slideDoor(学习某编程网站的,仅作记录和学习)的更多相关文章

  1. 【转】手把手教你读取Android版微信和手Q的聊天记录(仅作技术研究学习)

    1.引言 特别说明:本文内容仅用于即时通讯技术研究和学习之用,请勿用于非法用途.如本文内容有不妥之处,请联系JackJiang进行处理!   我司有关部门为了获取黑产群的动态,有同事潜伏在大量的黑产群 ...

  2. 手把手教你读取Android版微信和手Q的聊天记录(仅作技术研究学习)

    1.引言 特别说明:本文内容仅用于即时通讯技术研究和学习之用,请勿用于非法用途.如本文内容有不妥之处,请联系JackJiang进行处理!   我司有关部门为了获取黑产群的动态,有同事潜伏在大量的黑产群 ...

  3. 写的cursor demo仅作记录

    declare @objectID int; declare objcur cursor for object_id from m_object open objcur fetch next from ...

  4. nil和Nil及NULL的区别(仅作记录)

    今天在研究红黑树的时候一直提到一个NIL节点,百度了一下,这里仅作记录 nil是一个对象值,如果要把一个对象设置为空的时候就用nil.Nil是一个类对象的值,如果要把一个Class类型的对象设置为空的 ...

  5. .net core 命令行(仅作记录)

    命令大全:dotnet 命令 创建NuGet包:如何使用 .NET Core 命令行接口 (CLI) 工具创建 NuGet 包

  6. windows10下找回照片查看器的方法(仅作记录)

    Windows Registry Editor Version 5.00 ; Change Extension's File Type [HKEY_CURRENT_USER\Software\Clas ...

  7. 通过ajax方式在界面上加载loading状态(仅作记录)

    1 html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, 2 pre, a, ab ...

  8. 如何优雅地学习计算机编程-C++1

    如何优雅的学习计算机编程--C++ 0.导入 如何优雅地学习计算机编程.我们得首先了解编程是什么?打个比方--写信. 大家都知道写信所用的语言双方都懂,这样的信才做到了信息交流,人和计算机也是如此人和 ...

  9. PYTHON 实现的微信跳一跳【辅助工具】仅作学习

    备注原地址:https://my.oschina.net/anlve/blog/1604163 我又做了一些优化,防止WX检测作弊 准备环境: Windows 10安卓手机,源码中有适配ios,然后链 ...

随机推荐

  1. 深入了解DSP与ARM的区别与联系

    http://www.eeboard.com/bbs/thread-25219-1-1.html ARM微处理器的体系结构 了解DSP的体系结构 深入了解DSP与ARM的区别与联系 2011-09-3 ...

  2. How to use umbraco datetime property editor

    When I was using Umbraco datetime property editor, I met with a problem that the editor must be firs ...

  3. csuoj 1391: Boiling Vegetables

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1391 1391: Boiling Vegetables Time Limit: 1 Sec  Me ...

  4. 将图片插入到excel中

    static void Main(string[] args) { //说明:插入图片 //1.创建EXCEL中的Workbook IWorkbook myworkbook = new HSSFWor ...

  5. Javascript模块化编程(二):AMD规范(转)

    这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块. (接上文) 七.模块的规范 先想一想,为什么模块很重要? 因为有了模块,我们就可以更方便地使用别人的代码,想要 ...

  6. 19.在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(?)写出http常见的状态码和含义,至少5个.[完善题目]

    状态401代表未被授权,header("Location:www.xxx.php"); 100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. 300 ...

  7. Visual Studio配色方案

    Eclipse开源工具和VS在诸多方面真的是差距非常大,无奈Java编程,使用VS非常麻烦.所以只能选择Eclipse 但是Eclipse的系统配色,又实在是不舒服,于是抽时间,从VS上抠了一份默认的 ...

  8. Java类的基本运行顺序是怎样

    我们以下面的类来说明一个基本的 Java 类的运行顺序: public class Demo{ private String name; private int age; public Demo(){ ...

  9. Spring学习笔记之三----基于Annotation的Spring IOC配置

    使用Annotation 来创建Bean有两种方式 在配置类中创建bean(配置类是指标注为@Configuration的类),在配置类中每一个创建bean的方法都应该标注为@Bean,可以在@Bea ...

  10. FlasActionScript3随学随机

    1.跳转页面代码.下载代码(new URLRequest(下载地址)): var request1:URLRequest=new URLRequest("http://www.baidu.c ...