JavaScript学习——使用JS实现首页轮播图效果

1、相关技术

获取元素 document.getElementById(“id 名称”)
事件(onload) 只能写一次并且放到body标签中
定时操作:setInterval(“changeImg()”,3000);

2、步骤分析(此案例轮播图效果是基于HTML&CSS——使用DIV和CSS完成网站首页重构实现的)

事先准备三张一样大小的图片(img1、img2、img3)放在文件夹Img下。

第一步:确定事件(onload)并为其绑定一个函数

第二步:书写绑定的这个函数

第三步:书写定时任务(setInterval)

第四步:书写定时任务里面的函数

第五步:通过变量的方式,进行循环(获取轮播图的位置,并设置 src 属性,在循环的时候需要注意到了最后一 张图片的时候要重置)。

 1 <script>
 2             function init(){
 3                 //书写轮播图显示的定时操作
 4                 setInterval("changImg()",3000);
 5             }
 6             
 7             //书写函数
 8             var i=1;
 9             function changImg(){
10                 i++;
11                 
12                 //获取图片位置并设置src属性值
13                 document.getElementById("img_1").src="../img/"+i+".jpg";
14                 if(i==3){
15                     i=0;
16                 }
17             }
18 </script>

Html:

<body onload="init()">

在指定位置定义 id。

最终实现的代码如下:

  1 <!DOCTYPE html>
  2 <html>
  3     <head>
  4         <meta charset="UTF-8">
  5         <title>首页</title>
  6         <style>
  7             #father{
  8                 border: 0px solid black;
  9                 width: 1300px;
 10                 height: 1600px;
 11                 margin: auto;
 12             }
 13             #logo{
 14                 border: 0px solid black;
 15                 width: 1300px;
 16                 height: 50px;
 17             }
 18             .top{
 19                 border: 0px solid blue;
 20                 width: 431px;
 21                 height: 50px;
 22                 float: left;
 23             }
 24             #top{
 25                 padding-top: 12px;
 26                 height: 38px;
 27             }
 28             
 29             #menu{
 30                 border: 0px solid red;
 31                 width:1300px;
 32                 height: 50px;
 33                 background: black;
 34                 margin-bottom: 10px;
 35             }
 36             ul li{
 37                 display: inline;
 38                 color: white;
 39             }
 40             #product{
 41                 border: 0px solid goldenrod;
 42                 width: 1300px;
 43                 height: 550px;
 44             }
 45             #product_top{
 46                 border: 0px solid blue;
 47                 width: 100%;
 48                 height: 43px;
 49                 padding-top: 5px;
 50             }
 51             #product_bottom{
 52                 border: 0px solid green;
 53                 width: 100%;
 54                 height: 498px;
 55             }
 56             
 57             #product_bottom_left{
 58                 border: 0px solid red;
 59                 width: 200px;
 60                 height: 498px;
 61                 float: left;
 62             }
 63             #product_bottom_right{
 64                 border: 0px solid saddlebrown;
 65                 width: 1094px;
 66                 height: 498px;
 67                 float: left;
 68             }
 69             #big{
 70                 border: 0px solid hotpink;
 71                 width: 545px;
 72                 height: 247px;
 73                 float: left;
 74             }
 75             .small{
 76                 border: 0px solid blue;
 77                 width: 180px;
 78                 height: 247px;
 79                 float: left;
 80                 /*让里面的内容居中*/
 81                 text-align: center;
 82             }
 83             #bottom{
 84                 text-align: center;
 85             }
 86             /*去掉超链接的下划线*/
 87             a{
 88                 text-decoration: none;
 89             }
 90         </style>
 91         
 92         <script>
 93             function init(){
 94                 //书写轮播图显示的定时操作
 95                 setInterval("changImg()",3000);
 96             }
 97             
 98             //书写函数
 99             var i=1;
100             function changImg(){
101                 i++;
102                 
103                 //获取图片位置并设置src属性值
104                 document.getElementById("img_1").src="../img/"+i+".jpg";
105                 if(i==3){
106                     i=0;
107                 }
108             }
109         </script>
110     </head>
111     <body body onload="init()">
112         <div id="father">
113             <!--1.logo部分-->
114             <div id="logo">
115                 <div class="top">
116                     <img src="../img/logo2.png" height="46px" />
117                 </div>
118                 <div class="top">
119                     <img src="../img/header.png" height="46px"/>
120                 </div>
121                 <div class="top" id="top">
122                     <a href="#">登录</a>
123                     <a href="#">注册</a>
124                     <a href="#">购物车</a>
125                 </div>
126             </div>
127                 
128             <!--2.导航栏部分-->    
129             <div id="menu">
130                 <ul>
131                     <a href="#"><li style="font-size: large;">首页</li></a>&nbsp;&nbsp;&nbsp;&nbsp;
132                     <a href="#"><li>手机数码</li></a>&nbsp;&nbsp;&nbsp;&nbsp;
133                     <a href="#"><li>家用电器</li></a>&nbsp;&nbsp;&nbsp;&nbsp;
134                     <a href="#"><li>鞋靴箱包</li></a>&nbsp;&nbsp;&nbsp;&nbsp;
135                 </ul>
136             </div>    
137             
138             <!--3.轮播图部分-->
139             <div id="">
140                 <img src="../img/1.jpg" width="100%" height="100%" id="img_1"/>
141             </div>
142                 
143             <!--4.最新商品-->
144             <div id="product">
145                 
146                 <div id="product_top">
147                     <span style="font-size: 25px">最新商品</span>&nbsp;&nbsp;&nbsp;
148                     <img src="../img/title2.jpg"/>
149                 </div>
150                 
151                 <div id="product_bottom">
152                     
153                     <div id="product_bottom_left">
154                         <img src="../img/big01.jpg" width="100%" height="100%" />
155                     </div>
156                     
157                     <div id="product_bottom_right">
158                         <div id="big">
159                             <a href="#"><img src="../img/middle01.jpg" width="100%" height="100%"  /></a>
160                         </div>
161                         
162                         <div class="small">
163                             <a href="#"><img src="../img/small01.jpg" ></a>
164                             <a href="#"><p style="color: gray;">榨汁机</p></a>
165                             <p style="color: red;">599</p>
166                         </div>
167                         <div class="small">
168                             <a href="#"><img src="../img/small02.jpg" ></a>
169                             <a href="#"><p style="color: gray;">电视机</p></a>
170                             <p style="color: red;">1599</p>
171                         </div>
172                         <div class="small">
173                             <a href="#"><img src="../img/small03.jpg" ></a>
174                             <a href="#"><p style="color: gray;"></p></a>
175                             <p style="color: red;">399</p>
176                         </div>
177                         <div class="small">
178                             <a href="#"><img src="../img/small04.jpg" ></a>
179                             <a href="#"><p style="color: gray;">面包机</p></a>
180                             <p style="color: red;">799</p>
181                         </div>
182                         <div class="small">
183                             <a href="#"><img src="../img/small05.jpg" ></a>
184                             <a href="#"><p style="color: gray;">咖啡机</p></a>
185                             <p style="color: red;">899</p>
186                         </div>
187                         <div class="small">
188                             <a href="#"><img src="../img/small06.jpg" ></a>
189                             <a href="#"><p style="color: gray;">洗衣机</p></a>
190                             <p style="color: red;">999</p>
191                         </div>
192                         <div class="small">
193                             <a href="#"><img src="../img/small07.jpg" ></a>
194                             <a href="#"><p style="color: gray;">扫地机器人</p></a>
195                             <p style="color: red;">1599</p>
196                         </div>
197                         <div class="small">
198                             <a href="#"><img src="../img/small09.jpg" ></a>
199                             <a href="#"><p style="color: gray;">微波炉</p></a>
200                             <p style="color: red;">1099</p>
201                         </div>
202                         <div class="small">
203                             <a href="#"><img src="../img/small08.jpg" ></a>
204                             <a href="#"><p style="color: gray;">压力锅</p></a>
205                             <p style="color: red;">799</p>
206                         </div>
207                     </div>
208                 </div>
209             </div>
210                 
211             <!--5.广告图片-->
212             <div id="">
213                 <img src="../img/ad.jpg" width="100%"/>
214             </div>
215                 
216             <!--6.广告图片-->
217             <div id="">
218                 <img src="../img/footer.jpg" width="100%"/>
219             </div>
220                 
221             <!--7.友情链接和版权信息-->
222             <div id="bottom">
223                     <a href="#"><font>关于我们</font></a>
224                     <a href="#"><font>联系我们</font></a>
225                     <a href="#"><font>招贤纳士</font></a>
226                     <a href="#"><font>法律声明</font></a>
227                     <a href="#"><font>友情链接</font></a>
228                     <a href="#"><font>支付方式</font></a>
229                     <a href="#"><font>配送方式</font></a>
230                     <a href="#"><font>服务声明</font></a>
231                     <a href="#"><font>广告声明</font></a>
232                     <p>
233                         Copyright © 2005-2016 hh商城 版权所有 
234                     </p>
235             </div>
236         </div>
237     </body>
238 </html>

在浏览器内运行,实现了轮播图的效果。

原文地址:https://www.cnblogs.com/cxq1126/p/7395722.html