js实现轮播图

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>轮播图</title>
 6     <style type="text/css">
 7         *{
 8             margin: 0;
 9             padding:0;
10         }
11         .carousel{
12             margin:0 auto;
13             width:400px;
14             height: 300px;
15             position: relative;
16         }
17         span{
18             width:20px;
19             height:20px;
20             background: rgba(0,0,0,.6);
21             border-radius: 50%;
22         }
23         a{
24             text-decoration: none;
25             color:#fff;
26         }
27         p{
28             width:200px;
29             text-align: center;
30             line-height: 20px;
31             position: absolute;
32             top:260px;
33             left:100px;
34             display: flex;
35             justify-content: space-around;
36         }
37     </style>
38     <script type="text/javascript">
39         window.onload =function () {
40             var aNode = document.getElementsByTagName("a");
41             var divNode = document.getElementsByTagName("div")[0];
42             var imgNode = document.createElement("img");
43             for (var position in aNode) {
44                 aNode[position].onclick = function () {
45                     var index = this.innerText;
46                     carousel(index);
47                 }
48             }
49             function carousel(index) {
50                 imgNode.src = ‘images/‘ + index + ‘.jpg‘ + ‘/‘;
51                 divNode.appendChild(imgNode);
52             }
53             var i = 1;
54             imgNode.src = ‘images/‘ + i + ‘.jpg‘ + ‘/‘;
55             function change() {
56                 imgNode.src = ‘images/‘ + i + ‘.jpg‘ + ‘/‘;
57                 i++;
58                 if (i == 7) {
59                     i = 1;
60                 }
61             }
62             divNode.appendChild(imgNode);
63             setInterval(change, 1500);
64         }
65     </script>
66 </head>
67 <body>
68     <div class="carousel">
69         <p>
70             <span><a href="#" onclick="carousel(1)">1</a></span>
71             <span><a href="#" onclick="carousel(2)">2</a></span>
72             <span><a href="#" onclick="carousel(3)">3</a></span>
73             <span><a href="#" onclick="carousel(4)">4</a></span>
74             <span><a href="#" onclick="carousel(5)">5</a></span>
75             <span><a href="#" onclick="carousel(6)">6</a></span>
76         </p>
77     </div>
78 </body>
79 </html>

注意:图片需要自己去添加images文件,大小我用的是400*300,可以更改的!

还有其他方法使用js实现轮播图,比如点击以后让图片transform:translate;点击后改变其display,点击后改变z-index,不点击让他自己产生动态移动就是使用:setInterval

技术不重要,重要的是思想!

时间: 2024-10-12 18:29:46

js实现轮播图的相关文章

js实现轮播图效果(附源码)--原生js的应用

1.js实现轮播图效果 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="Author" content="奇客艺术"> <meta name="keyword" content="关键字"> <meta name=

JS原生轮播图

哈喽!我的朋友们,最近有一个新项目.所以一直没更新!有没有想我啊!! 今天咱们来说一下JS原生轮播图! 话不多说: 直接来代码吧:下面是CSS部分: 1 *{ 2 padding: 0px; 3 margin: 0px; 4 } 5 img{ 6 width: 500px; 7 height: 300px; 8 } 9 li{ 10 float: left; 11 } 12 ul{ 13 width: 2000px; 14 list-style: none; 15 position: absol

js网站轮播图怎么做如何做?鸡哥教你简单制作效果炫酷

日了狗啦,刚刚鸡哥辛苦码了那么多字全丢了又要重新写,这是第二遍写了...今天鸡哥给小白写个不需要写js原生代码,只需要几个插件和一段通俗易懂得jquery代码就能搞定的轮播图,当然js原生代码写着也不算很繁琐,但是有些浪费时间,更何况很多人并不会用js直接写包括鸡哥,当年在学校还是研究过一段时间js的,当时还独自写了一个轮播图俘获了多少同班妹子的芳心,不过现在是基本废了,这东西要常写,不然忘的很快. 唉,本来还有妹子等着鸡哥呢,我这一大意文章丢了,重新写的话估计来不及了,先打个电话让妹子回家吧~

用原生js封装轮播图

原生js封装轮播图 对于初学js的同学来说,轮播图还是一个难点,尤其是原生js封装轮播图代码,下面是我之前做的一个轮播图项目中封装好的一些代码,有需要的同学可以看一下,有什么不懂的可以看注释,注释看不懂的可以直接私信我 slide.js /* * 轮播图 */ function Slide(elem, ms, d, ind){ this.el = elem; this.w = parseInt(getStyle(elem, "width")); this.h = parseInt(ge

封装一个简单的原生js焦点轮播图插件

轮播图实现的效果为,鼠标移入左右箭头会出现,可以点击切换图片,下面的小圆点会跟随,可以循环播放.本篇文章的主要目的是分享封装插件的思路. 轮播图的我一开始是写成非插件形式实现的效果,后来才改成了封装成插件的形式. 首先要明白轮播图的实现原理和基本布局,大概就是外面有一个容器包裹着(通常是div),容器设置宽高,以及overflow为hidden,超出宽高部分隐藏, 容器里面又包含着另一个容器,包裹着所有的图片,宽为所有图片的总宽度,ul的position为absolute,通过改变ul的left

原生js简单轮播图 代码

在团队带人,突然被人问到轮播图如何实现,进入前端领域有一年多了,但很久没自己写过,一直是用大牛写的插件,今天就写个简单的适合入门者学习的小教程.当然,轮播图的实现原理与设计模式有很多种,我这里讲的是用面向过程函数式编程去实现,相对于面向对象设计模式,代码难免会显得臃肿冗余.但没有面向对象的抽象却很适合新手理解与学习.已经在BAT的同学看到希望少喷点.另外可以多提意见. 轮播图的原理: 一系列的大小相等的图片平铺,利用CSS布局只显示一张图片,其余隐藏.通过计算偏移量利用定时器实现自动播放,或通过

用js实现轮播图

昨天一个朋友让我用js帮他做一个简单的轮播图,我本身就是菜鸟一个,js学得不怎么样,加上好久没敲代码,简直一头雾水,还好搞了将近一个小时终于搞定.今天有时间记录一下,分享给需要的朋友. 实现思路:轮播图其实就是一个定时器,所以我们只需要定时改变当前位置的图片即可.根据这一点实现起来就很简单了,下面直接上代码. 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o

手把手原生js简单轮播图

在团队带人,突然被人问到轮播图如何实现,进入前端领域有一年多了,但很久没自己写过,一直是用大牛写的插件,今天就写个简单的适合入门者学习的小教程.当然,轮播图的实现原理与设计模式有很多种,我这里讲的是用面向过程函数式编程去实现,相对于面向对象设计模式,代码难免会显得臃肿冗余.但没有面向对象的抽象却很适合新手理解与学习.已经在BAT的同学看到希望少喷点.另外可以多提意见. 轮播图的原理: 一系列的大小相等的图片平铺,利用CSS布局只显示一张图片,其余隐藏.通过计算偏移量利用定时器实现自动播放,或通过

使用JS实现轮播图的效果

其中的一些css样式代码就省略了,下面只把结构层html.行为层js的代码展示出来 ,看代码说事. 一.简单的轮播图 <div class="box" id="box"> <div class="inner"> <ul> <li><a href="#"><img src="images/01.jpg" alt=""/>