电商网站滑动门特效

今天在慕课网学习了JavaScript滑动门特效,这个特效在电商网站上比较常见,难度适中,要对JavaScript和DOM比较熟悉。

一、实现HTML + CSS结构

  首先编写HTML代码

 1 <!doctype html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title>sliding doors</title>
 6         <link rel="stylesheet" href="styles/reset.css" /> //重置浏览器样式css,对本案例没有影响,网上可以下载
 7         <link rel="stylesheet" href="styles/slidingdoors.css" /> //本案例用到的css
 8         <script src="scripts/slidingdoors.js"></script>  //本案例用到的js
 9     </head>
10     <body>
11         <div id=‘container‘>  //引入4张图片
12             <img src="images/door1.png" alt="1080P神器" title="1080P神器" />
13             <img src="images/door2.png" alt="5.5寸四核" title="5.5寸四核" />
14             <img src="images/door3.png" alt="四核5寸" title="四核5寸" />
15             <img src="images/door4.png" alt="5.7寸机皇" title="5.7寸机皇" />
16         </div>
17     </body>
18 </html>

  

  编写slidingdoors.css

 1 #container {
 2     height: 477px;
 3     margin: 0 auto;
 4     border-right: 1px solid #ccc;
 5     border-bottom: 1px solid #ccc;
 6     overflow: hidden;
 7     position: relative;
 8 }
 9
10 #container img {
11     position: absolute;
12     display: block;
13     left: 0;
14     border-left: 1px solid #ccc;
15 }

二、实现JS + DOM

  编写slidingdoors.js

 1 window.onload = function() {
 2     //容器对象
 3     var box = document.getElementById(‘container‘);
 4
 5     //获得图片NodeList对象集合
 6     var imgs = box.getElementsByTagName(‘img‘);
 7
 8     //单张图片的宽度
 9     var imgWidth = imgs[0].offsetWidth;
10
11     //设置掩藏门体露出的宽度
12     var exposeWidth = 160;
13
14     //设置容器总宽度
15     var boxWidth = imgWidth + (imgs.length - 1) * exposeWidth;
16     box.style.width = boxWidth + ‘px‘;
17
18     //设置每道门的初始位置
19     function setImgsPos() {
20         for (var i = 1, len = imgs.length; i < len; i++) {
21             imgs[i].style.left = imgWidth + exposeWidth * (i - 1) + ‘px‘;
22         }
23     }
24     setImgsPos();
25
26     //计算每道门打开时应移动的距离
27     var translate = imgWidth - exposeWidth;
28
29     //为每道门绑定事件
30     for (var i = 0; i < imgs.length; i++) {
31         //为了获得不同的i值,使用立即调用的函数表达式
32         (function(i) {
33             imgs[i].onmouseover = function() {
34                 //先将每道门复位
35                 setImgsPos();
36                 //打开门
37                 for (var j = 1; j <= i; j++) {
38                     imgs[j].style.left = parseInt(imgs[j].style.left, 10) - translate + ‘px‘;
39                 }
40             }
41         })(i);
42     };
43
44 }

三、效果图

  (初始时)

  

  

  (鼠标滑动到第二张图片)

  

  

  (鼠标滑动到第三张)

  

  

  

  (鼠标滑动到第四张)

  

时间: 2024-12-13 00:02:27

电商网站滑动门特效的相关文章

电商网站常用放大镜特效

预览效果: 类似于之前做过的裁剪预览效果 HTML.CSS代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv

利用jquery实现电商网站常用特效之:五星评分

这篇文章主要为大家详细介绍了基于jquery实现五星好评,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在电商网站,我们经常会用到五星评分的功能,现在用jQuery实现一个简单的demo: 1.引入jQuery 例子中我使用的是在线jQuery: <script src="/jquery/1.10.0/jquery.min.js"></script> 2.jQuery方法说明: prevAll:如果给定一个表示 DOM 元素集合的 jQuery 对象,.pr

从0开始 独立完成企业级Java电商网站开发

第1章 课程介绍(提供4900+问题与答案库)(提供4900+问题与答案库,你遇到的坑,别人已经出坑了)本章详细介绍Java服务端课程内容,项目演示课程安排,高大上的架构从一台服务器演变到高性能.高并发.高可用架构的过程,大型架构演进思想以及代码演进细节.(特别说明:本课程是项目实战中级课程,不会讲语法层面的内容,实战前需具备Java,SSM,Linux等基础)...1-1 课程导学1-2 课程学习与解决问题指南(最重要的一节课)1-3 大型Java项目架构演进解析 第2章 开发环境安装与配置讲

全流程开发 GO实战电商网站高并发秒杀系统

获取资源点击这里:全流程开发 GO实战电商网站高并发秒杀系统 第1章 课程介绍[学前须知] 本章对这门课程进行说明,包括:秒杀系统涉及模块的介绍,秒杀核心的知识点的介绍,课程的学习规划等. 1-1 课程介绍试看 第2章 需求整理&系统设计 [明确需求] 本章对秒杀系统整体需求进行梳理,明确系统具体需求,讲解系统原型设计工具的使用,并结合秒杀系统进行整体架构设计. 2-1 需求分析 2-2 系统架构设计 2-3 [总结&扩展]需求整理&系统设计 2-4 [勤于思考,夯实学习成果]阶段

(转)625某电商网站数据库宕机故障解决实录(上)

625某电商网站数据库特大故障解决实录(上) 原文:http://oldboy.blog.51cto.com/2561410/1431161 这是一次,惊心动魄的企业级电商网站数据库在线故障解决实录,故障解决的过程遇到了很多问题,思想的碰撞,解决方案的决策,及实际操作的问题困扰,老男孩尽量原汁原味的描述恢复的全部过程及思想思维过程!老男孩教育版权所有,本内容禁止商业用途. 目录: 625某电商网站数据库特大故障解决实录... 1 1接到电商客户报警... 1 1.1与客户初步沟通... 1 1.

大型网站架构系列:电商网站架构案例(3)

本文章是电商网站架构案例的第三篇,主要介绍数据库集群,读写分离,分库分表,服务化,消息队列的使用,以及本电商案例的架构总结. 6.5数据库集群(读写分离,分库分表) 大型网站需要存储海量的数据,为达到海量数据存储,高可用,高性能一般采用冗余的方式进行系统设计.一般有两种方式读写分离和分库分表. 读写分离:一般解决读比例远大于写比例的场景,可采用一主一备,一主多备或多主多备方式. 本案例在业务拆分的基础上,结合分库分表和读写分离.如下图: (1)       业务拆分后:每个子系统需要单独的库:

说说捞月狗与其他电商网站的感觉

我之前在杂志云实习,做的是SEO的工作,了解互联网的一些我以前所不知道的事情,所以现在对这个东西有点意思0.0 前两天看直播,浪师傅的亚索,一时兴起想查一下浪师傅的段位,所以百度了捞月狗(www.laoyuegou.com),看都浪师傅上了王者我就放心了,不知道为什么就想查一下捞月狗的权重: 无解,权重竟然有5.看了一下历史数据: 很强,1月份的权重高达7,由于百度年后的一些动作,很多网站的权重都被降权了,但是捞月狗依然保持有5的水平.但是看它的收录: 每周收录稳定在200多左右,由于我基础比较

WEB前端开发电商网站前端架构

课程介绍通过一个垂直电子商务网站,介绍前端架构搭建和实现的步骤和方法,以及在这个过程中我们需要做什么才能帮助项目最终从设计走向实现.课程提纲第1章 前端架构知识准备认识前端架构,了解前端架构技术.产品设计和发布.数据分析和优化的基础第2章 前端架构设计了解前端架构的组织方式.页面层次的架构组织.架构设计和组件化方案等.第3章 前端架构实施了解架构的实施.优化思路,如何实施自动化.通过蛋糕电商网站讲解,分析案例.如何图解设计和交互图.如何从目录入手搭建基本架构.如何从页面层次进行架构搭建和最后项目

B2C 电商网站需要怎样的 ERP 系统

B2C 电商网站需要怎样的 ERP 系统 主要由如下一些系统组成:1.进销存系统,你的产品的采供销当然最好是由系统来实现:2.BI系统,BI包括所有的流量.订单.商品.库存.发货等所有数据节点,亦包含全站的各种积分.优惠券.会员体系等分支系统:3.仓储以及配送发货体系,里面涵盖的数据节点非常非常多,比如说库存(库存里面也分可销售库存.冻结库存.RMA库存等多个状态).配送体系的节点也很多比如说分拣.打包.称重.打印.发货,发货之后需跟物流公司对接知道到达的配送节点:4.客服系统以及CRM系统,客