小白项目-JavaScript实现轮播特效


小白项目-JavaScript实现轮播特效
加油吧

 

小白项目-JavaScript实现轮播特效_第1张图片

 

 

 

  1 doctype html>
  2 <html lang="en">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title>Documenttitle>
  6     <link rel="stylesheet" href="css/style.css">
  7 head>
  8 <body>
  9     <div class="main" id="main">
 10         <div class="menu-box">
 11         div>
 12         
 13         <div class="sub-menu hide" id="sub-menu">
 14             <div class="inner-box">
 15                 <div class="sub-inner-box">
 16                     <div class="title">手机、配件div>
 17                     <div class="sub-row">
 18                         <span class="bold mr10">手机通讯:span>
 19                         <a href="">手机a>
 20                         <span class="ml10 mr10">/span>
 21                         <a href="">手机维修a>
 22                         <span class="ml10 mr10">/span>
 23                         <a href="">以旧换新a>
 24                     div>
 25                     <div class="sub-row">
 26                         <span class="bold mr10">手机配件:span>
 27                         <a href="">手机壳a>
 28                         <span class="ml10 mr10">/span>
 29                         <a href="">手机存储卡a>
 30                         <span class="ml10 mr10">/span>
 31                         <a href="">数据线a>
 32                         <span class="ml10 mr10">/span>
 33                         <a href="">充电器a>
 34                         <span class="ml10 mr10">/span>
 35                         <a href="">电池a>
 36                     div>
 37                     <div class="sub-row">
 38                         <span class="bold mr10">运营商:span>
 39                         <a href="">中国联通a>
 40                         <span class="ml10 mr10">/span>
 41                         <a href="">中国移动a>
 42                         <span class="ml10 mr10">/span>
 43                         <a href="">中国电信a>
 44                     div>
 45                     <div class="sub-row">
 46                         <span class="bold mr10">智能设备:span>
 47                         <a href="">智能手环a>
 48                         <span class="ml10 mr10">/span>
 49                         <a href="">智能家居a>
 50                         <span class="ml10 mr10">/span>
 51                         <a href="">智能手表a>
 52                         <span class="ml10 mr10">/span>
 53                         <a href="">其他配件a>
 54                     div>
 55                     <div class="sub-row">
 56                         <span class="bold mr10">娱乐:span>
 57                         <a href="">耳机a>
 58                         <span class="ml10 mr10">/span>
 59                         <a href="">音响a>
 60                         <span class="ml10 mr10">/span>
 61                         <a href="">收音机a>
 62                         <span class="ml10 mr10">/span>
 63                         <a href="">麦克风a>
 64                     div>
 65                 div>
 66             div>
 67             <div class="inner-box">
 68                 <div class="sub-inner-box">
 69                     <div class="title">电脑div>
 70                     <div class="sub-row">
 71                        <span class="bold mr10">电脑:span>
 72                        <a href="">笔记本a>
 73                        <span class="ml10 mr10">/span>
 74                        <a href="">平板a>
 75                        <span class="ml10 mr10">/span>
 76                        <a href="">一体机a>
 77                     div>
 78                     <div class="sub-row">
 79                        <span class="bold mr10">电脑配件:span>
 80                        <a href="">显示器a>
 81                        <span class="ml10 mr10">/span>
 82                        <a href="">CPUa>
 83                        <span class="ml10 mr10">/span>
 84                        <a href="">主板a>
 85                        <span class="ml10 mr10">/span>
 86                        <a href="">硬盘a>
 87                        <span class="ml10 mr10">/span>
 88                        <a href="">电源a>
 89                        <span class="ml10 mr10">/span>
 90                        <a href="">显卡a>
 91                        <span class="ml10 mr10">/span>
 92                        <a href="">其他配件a>
 93                     div>
 94                     <div class="sub-row">
 95                        <span class="bold mr10">游戏设备:span>
 96                        <a href="">游戏机a>
 97                        <span class="ml10 mr10">/span>
 98                        <a href="">耳机a>
 99                        <span class="ml10 mr10">/span>
100                        <a href="">游戏软件a>
101                     div>
102                     <div class="sub-row">
103                        <span class="bold mr10">网络产品:span>
104                        <a href="">路由器a>
105                        <span class="ml10 mr10">/span>
106                        <a href="">网络机顶盒a>
107                        <span class="ml10 mr10">/span>
108                        <a href="">交换机a>
109                        <span class="ml10 mr10">/span>
110                        <a href="">存储卡a>
111                        <span class="ml10 mr10">/span>
112                        <a href="">网卡a>
113                     div>
114                     <div class="sub-row">
115                        <span class="bold mr10">外部产品:span>
116                        <a href="">鼠标a>
117                        <span class="ml10 mr10">/span>
118                        <a href="">键盘a>
119                        <span class="ml10 mr10">/span>
120                        <a href="">U盘a>
121                        <span class="ml10 mr10">/span>
122                        <a href="">移动硬盘a>
123                        <span class="ml10 mr10">/span>
124                        <a href="">鼠标垫a>
125                        <span class="ml10 mr10">/span>
126                        <a href="">电脑清洁a>
127                     div>
128                 div>
129             div>
130             <div class="inner-box">
131                 <div class="sub-inner-box">
132                     <div class="title">家用电器div>
133                     <div class="sub-row">
134                        <span class="bold mr10">电视:span>
135                        <a href="">国产品牌a>
136                        <span class="ml10 mr10">/span>
137                        <a href="">韩国品牌a>
138                        <span class="ml10 mr10">/span>
139                        <a href="">欧美品牌a>
140                     div>
141                     <div class="sub-row">
142                        <span class="bold mr10">空调:span>
143                        <a href="">显示器a>
144                        <span class="ml10 mr10">/span>
145                        <a href="">柜式a>
146                        <span class="ml10 mr10">/span>
147                        <a href="">中央a>
148                        <span class="ml10 mr10">/span>
149                        <a href="">壁挂式a>
150                     div>
151                     <div class="sub-row">
152                        <span class="bold mr10">冰箱:span>
153                        <a href="">多门a>
154                        <span class="ml10 mr10">/span>
155                        <a href="">对开门a>
156                        <span class="ml10 mr10">/span>
157                        <a href="">三门a>
158                        <span class="ml10 mr10">/span>
159                        <a href="">双门a>
160                     div>
161                     <div class="sub-row">
162                        <span class="bold mr10">洗衣机:span>
163                        <a href="">滚筒式洗衣机a>
164                        <span class="ml10 mr10">/span>
165                        <a href="">迷你洗衣机a>
166                        <span class="ml10 mr10">/span>
167                        <a href="">洗烘一体机a>
168                     div>
169                     <div class="sub-row">
170                        <span class="bold mr10">厨房电器:span>
171                        <a href="">油烟机a>
172                        <span class="ml10 mr10">/span>
173                        <a href="">洗碗机a>
174                        <span class="ml10 mr10">/span>
175                        <a href="">燃气灶a>
176                     div>
177                 div>
178             div>
179             <div class="inner-box">
180                 <div class="sub-inner-box">
181                     <div class="title">家具div>
182                     <div class="sub-row">
183                        <span class="bold mr10">家纺:span>
184                        <a href="">被子a>
185                        <span class="ml10 mr10">/span>
186                        <a href="">枕头a>
187                        <span class="ml10 mr10">/span>
188                        <a href="">四件套a>
189                        <span class="ml10 mr10">/span>
190                        <a href="">床垫a>
191                     div>
192                     <div class="sub-row">
193                        <span class="bold mr10">灯具:span>
194                        <a href="">台灯a>
195                        <span class="ml10 mr10">/span>
196                        <a href="">顶灯a>
197                        <span class="ml10 mr10">/span>
198                        <a href="">节能灯a>
199                        <span class="ml10 mr10">/span>
200                        <a href="">应急灯a>
201                     div>
202                     <div class="sub-row">
203                        <span class="bold mr10">厨具:span>
204                        <a href="">烹饪锅具a>
205                        <span class="ml10 mr10">/span>
206                        <a href="">餐具a>
207                        <span class="ml10 mr10">/span>
208                        <a href="">菜板刀具a>
209                     div>
210                     <div class="sub-row">
211                        <span class="bold mr10">家装:span>
212                        <a href="">地毯a>
213                        <span class="ml10 mr10">/span>
214                        <a href="">沙发垫套a>
215                        <span class="ml10 mr10">/span>
216                        <a href="">装饰字画a>
217                        <span class="ml10 mr10">/span>
218                        <a href="">照片墙a>
219                        <span class="ml10 mr10">/span>
220                        <a href="">窗帘a>
221                     div>
222                     <div class="sub-row">
223                        <span class="bold mr10">生活日用:span>
224                        <a href="">收纳用品a>
225                        <span class="ml10 mr10">/span>
226                        <a href="">浴室用品a>
227                        <span class="ml10 mr10">/span>
228                        <a href="">雨伞雨衣a>
229                     div>
230                 div>
231             div>
232         div>
233         
234         <div class="menu-content" id="menu-content">
235             <div class="menu-item">
236                 <a href="">
237                     <span>手机、配件span>
238                     <i class="icon">i>
239                 a>
240             div>
241             <div class="menu-item">
242                 <a href="">
243                     <span>电脑span>
244                     <i class="icon">i>
245                 a>
246             div>
247             <div class="menu-item">
248                 <a href="">
249                     <span>家用电器span>
250                     <i class="icon">i>
251                 a>
252             div>
253             <div class="menu-item">
254                 <a href="">
255                     <span>家具span>
256                     <i class="icon">i>
257                 a>
258             div>
259         div>
260         <div class="banner" id="banner">
261             <a href="">
262                 <div class="banner-slide slide1 slide-active">div>
263             a>
264             <a href="">
265                 <div class="banner-slide slide2">div>
266             a>
267             <a href="">
268                 <div class="banner-slide slide3">div>
269             a>
270         div>
271         <a href="javascript:void(0)" class="button prev" id="prev">a>
272         <a href="javascript:void(0)" class="button next" id="next">a>
273         <div class="dots" id="dots">
274             <span class="active">span>
275             <span>span>
276             <span>span>
277         div>
278     div>
279     <script src="js/script.js">script>
280 body>
281 html>
html
  1 *{
  2     margin:0;
  3     padding:0;
  4 }
  5 
  6 @font-face {font-family: 'iconfont';
  7     src: url('../img/font/iconfont.eot'); 
  8     src: url('../img/font/iconfont.eot') format('embedded-opentype'),
  9     url('../img/font/iconfont.woff') format('woff'),
 10     url('../img/font/iconfont.ttf') format('truetype'),
 11     url('../img/font/iconfont.svg#iconfont') format('svg');
 12 }
 13 
 14 a{
 15     text-decoration: none;
 16 }
 17 
 18 a:link,a:visited{
 19     color:#5e5e5e;
 20 }
 21 
 22 body{
 23     font-family:"微软雅黑";
 24     color: #14191e;
 25 }
 26 
 27 .main{
 28     width:1200px;
 29     height:460px;
 30     margin:30px auto;
 31     position:relative;
 32     overflow:hidden;
 33 }
 34 
 35 .banner{
 36     width:1200px;
 37     height:460px;
 38     overflow:hidden;
 39     position:relative;
 40 }
 41 
 42 .banner-slide{
 43     width:1200px;
 44     height:460px;
 45     background-repeat:no-repeat;
 46     float:left;
 47     display:none;
 48 }
 49 
 50 .slide-active{
 51     display:block;
 52 }
 53 
 54 .slide1{
 55     background-image:url(../img/bg1.jpg);
 56 }
 57 
 58 .slide2{
 59     background-image:url(../img/bg2.jpg);
 60 }
 61 
 62 .slide3{
 63     background-image:url(../img/bg3.jpg);
 64 }
 65 
 66 .button{
 67     position: absolute;
 68     transform:rotate(180deg);
 69     top: 50%;
 70     left: 244px;
 71     height: 80px;
 72     width: 40px;
 73     margin-top:-40px;
 74     background:url(../img/arrow.png) center center no-repeat;
 75 }
 76 
 77 .next{
 78     transform:rotate(0deg);
 79     left:auto;
 80     right:0;
 81 }
 82 
 83 .button:hover{
 84     background-color:#333;
 85     opacity: 0.8;
 86     filter:alpha(opacity=80);
 87 }
 88 
 89 .dots {
 90     position: absolute;
 91     bottom: 24px;
 92     right: 0;
 93     text-align: right;
 94     padding-right: 24px;
 95     line-height: 12px;
 96 }
 97 
 98 .dots span {
 99     display: inline-block;
100     width: 12px;
101     height: 12px;
102     border-radius: 50%;
103     margin-left: 8px;
104     background-color: rgba(7, 17, 27, 0.4);
105     cursor: pointer;
106     box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.8) inset;
107 }
108 
109 .dots span.active{
110     box-shadow: 0 0 0 2px rgba(7, 17, 27, 0.4) inset;
111     background-color: #ffffff;
112 }
113 
114 /* menu-box */
115 .menu-box {
116     background:rgba(7, 17, 27, 0.5);
117     opacity: 0.5;
118     position: absolute;
119     left: 0px;
120     top: 0px;
121     width: 244px;
122     height: 460px;
123     z-index: 1;
124 }
125 
126 .menu-content{
127     position: absolute;
128     left: 0px;
129     top: 0px;
130     width: 244px;
131     height: 460px;
132     z-index: 2;
133     padding-top: 6px;
134 }
135 
136 .menu-item{
137     height: 64px;
138     line-height: 66px;
139     font-size: 12px;
140     cursor: pointer;
141     padding: 0 24px;
142     position: relative;
143 }
144 
145 .menu-item a{
146     display: block;
147     color: #fff;
148     padding: 0 8px;
149     border-bottom: 1px solid rgba(255, 255, 255, 0.2);
150     height: 63px;
151     font-size:16px;
152 }
153 
154 .menu-item:last-child a{
155     border-bottom:none;
156 }
157 
158 .menu-item i{
159     position: absolute;
160     right: 32px;
161     top: 24px;
162     color: rgba(255,255,255,0.5);
163     font-size: 24px;
164     top: 2px;
165     font-style:normal;
166     font-weight:normal;
167     font-family:"iconfont";
168 }
169 
170 .sub-menu {
171     border:1px solid #d9dde1;
172     background:#fff;
173     position: absolute;
174     left: 244px;
175     top: 0px;
176     width: 730px;
177     height: 458px;
178     z-index: 581;
179     box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1);
180 }
181 
182 .hide{
183     display:none;
184 }
185 
186 .inner-box{
187     width:100%;
188     height:100%;
189     background:url(../img/fe.png) no-repeat;
190     display:none;
191 }
192 
193 .sub-inner-box{
194     width: 652px;
195     margin-left: 40px;
196     overflow: hidden;
197 }
198 
199 .title{
200     color: #f01414;
201     font-size: 16px;
202     line-height: 16px;
203     margin-top: 28px;
204     font-weight: bold;
205     margin-bottom: 30px;
206 }
207 
208 .sub-row{
209     margin-bottom:25px;
210 }
211 
212 .bold{
213     font-weight:700;
214 }
215 
216 .mr10{
217     margin-right:10px;
218 }
219 
220 .ml10{
221     margin-left:10px;
222 }
css
  1 var timer = null,
  2     index = 0,
  3     pics = byId("banner").getElementsByTagName("div"),
  4     dots = byId("dots").getElementsByTagName("span"),
  5     size = pics.length,
  6     prev = byId("prev"),
  7     next = byId("next"),
  8     menuItems = byId("menu-content").getElementsByTagName("div"),
  9     subMenu = byId("sub-menu"),
 10     subItems = subMenu.getElementsByClassName("inner-box");
 11 
 12 function byId(id){
 13     return typeof(id)==="string"?document.getElementById(id):id;
 14 }
 15 
 16 // 清除定时器,停止自动播放
 17 function stopAutoPlay(){
 18     if(timer){
 19        clearInterval(timer);
 20     }
 21 }
 22 
 23 // 图片自动轮播
 24 function startAutoPlay(){
 25    timer = setInterval(function(){
 26        index++;
 27        if(index >= size){
 28           index = 0;
 29        }
 30        changeImg();
 31    },3000)
 32 }
 33 
 34 function changeImg(){
 35    for(var i=0,len=dots.length;i){
 36        dots[i].className = "";
 37        pics[i].style.display = "none";
 38    }
 39    dots[index].className = "active";
 40    pics[index].style.display = "block";
 41 }
 42 
 43 function slideImg(){
 44     var main = byId("main");
 45     var banner = byId("banner");
 46     var menuContent = byId("menu-content");
 47     main.onmouseover = function(){
 48         stopAutoPlay();
 49     }
 50     main.onmouseout = function(){
 51         startAutoPlay();
 52     }
 53     main.onmouseout();
 54 
 55     // 点击导航切换
 56     for(var i=0,len=dots.length;i){
 57        dots[i].id = i;
 58        dots[i].onclick = function(){
 59            index = this.id;
 60            changeImg();
 61        }
 62     }
 63 
 64     // 下一张
 65     next.onclick = function(){
 66        index++;
 67        if(index>=size) index=0;
 68        changeImg();
 69     }
 70 
 71     // 上一张
 72     prev.onclick = function(){
 73        index--;
 74        if(index<0) index=size-1;
 75        changeImg();
 76     }
 77 
 78     // 菜单
 79     for(var m=0,mlen=menuItems.length;m){
 80         menuItems[m].setAttribute("data-index",m);
 81         menuItems[m].onmouseover = function(){
 82             subMenu.className = "sub-menu";
 83             var idx = this.getAttribute("data-index");
 84             for(var j=0,jlen=subItems.length;j){
 85                subItems[j].style.display = 'none';
 86                menuItems[j].style.background = "none";
 87             }
 88             subItems[idx].style.display = "block";
 89             menuItems[idx].style.background = "rgba(0,0,0,0.1)";
 90         }
 91     }
 92 
 93     subMenu.onmouseover = function(){
 94         this.className = "sub-menu";
 95     }
 96 
 97     subMenu.onmouseout = function(){
 98         this.className = "sub-menu hide";
 99     }
100 
101     menuContent.onmouseout = function(){
102         subMenu.className = "sub-menu hide";
103     }
104 }
105 
106 slideImg();
js

 

你可能感兴趣的:(小白项目-JavaScript实现轮播特效)