导航:首页 > 编程语言 > js简单轮播图自己写程序

js简单轮播图自己写程序

发布时间:2025-01-26 21:18:09

❶ 浅谈js写轮播图的思路与心得

1 、 首先我们需要在开始时将我们锁需要的封装函数链接进来。
列如 <script type="text/javascript" src="animate-2.0.1.js"></script>
而且我们必须得得到所有需要用到的对象用 getElementById 、getElementsByTagName,然后把需要一个规范的命名。

2 、第二部我们创建一个定时器先让轮播图中所有图片的 li 动起来
右边点袜吵击函数跟定时器所运动的函数一个样,所以我们可以封装一个函数abc();他们是共用的;

3 、 写出左边点击按钮事件的函数,这样就如上abc();差不多只是修改一些东西就行了;

4 、讲小圆点的样式改变封装成一个函数就是下面的chnage();
然后还得监听点击每个小圆点的事件,所以可以用for + onclick 讲每个小圆点点击事件给写出来。

难点:
1 、函数截留,当我们点击函哗好戚数正在执行时,如果多乱陵次点击就会出现图片运动混乱的现象,这是我们需要用if(picDiv.isanimated) {return;},
2 、cloneNode()函数picUl.appendChild(picLi[0].cloneNode(true))

❷ Js图片轮播思路

思路啊 其实就是 恩 好吧 说常见的几种
1 好几个并列的模块,一个显示其他版的隐藏恩 你可权以使用for循环
2 每个模块都不隐藏,但是可以显示的框的大小是定的,只有在框内的才显示
3 还有一种 恩习惯JS会比较喜欢吧 就是定时切换图片的链接 其实我更喜欢这种

当然 都需要定时器

❸ js原生代码实现轮播图

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>最简单的轮播广告</title>
<style>
body, div, ul, li {
margin: 0;
padding: 0;
}

ul {
list-style-type: none;
}

body {
background: #000;
text-align: center;
font: 12px/20px Arial;
}

#box {
position: relative;
width: 492px;
height: 172px;
background: #fff;
border-radius: 5px;
border: 8px solid #fff;
margin: 10px auto;
}

#box .list {
position: relative;
width: 490px;
height: 170px;
overflow: hidden;
border: 1px solid #ccc;
}

#box .list li {
position: absolute;
top: 0;
left: 0;
width: 490px;
height: 170px;
opacity: 0;
transition: opacity 0.5s linear
}

#box .list li.current {
opacity: 1;
}

#box .count {
position: absolute;
right: 0;
bottom: 5px;
}

#box .count li {
color: #fff;
float: left;
width: 20px;
height: 20px;
cursor: pointer;
margin-right: 5px;
overflow: hidden;
background: #F90;
opacity: 0.7;
border-radius: 20px;
}

#box .count li.current {
color: #fff;
opacity: 0.7;
font-weight: 700;
background: #f60
}
</style>
</head>
<body>
<div id="box">
<ul class="list">
<li class="current" style="opacity: 1;"><img src="img/images04/01.jpg" width="490" height="170"></li>
<li style="opacity: 0;"><img src="img/images04/02.jpg" width="490" height="170"></li>
<li style="opacity: 0;"><img src="img/images04/03.jpg" width="490" height="170"></li>
<li style="opacity: 0;"><img src="img/images04/04.jpg" width="490" height="170"></li>
<li style="opacity: 0;"><img src="img/images04/05.jpg" width="490" height="170"></li>
</ul>
<ul class="count">
<li class="current">1</li>
<li class="">2</li>
<li class="">3</li>
<li class="">4</li>
<li class="">5</li>
</ul>
</div>

<script>
var box=document.getElementById('box');
var uls=document.getElementsByTagName('ul');
var imgs=uls[0].getElementsByTagName('li');
var btn=uls[1].getElementsByTagName('li');
var i=index=0; //中间量,统一声明;
var play=null;
console.log(box,uls,imgs,btn);//获取正确

//图片切换, 淡入淡出效果我是用(transition: opacity 0.8s linear)做的,不纠结、简单 在css里面
function show(a){ //方法定义的是当传入一个下标时,按钮和图片做出对的反应
for(i=0;i<btn.length;i++ ){
btn[i].className=''; //很容易看懂吧?每个按钮都先设置成看不见,然后把当前按钮设置成可见。
btn[a].className='current';
}
for(i=0;i<imgs.length;i++){ //把图片的效果设置和按钮相同
imgs[i].style.opacity=0;
imgs[a].style.opacity=1;
}
}
//切换按钮功能,响应对应图片
for(i=0;i<btn.length;i++){
btn[i].index=i; //不知道你有没有发现,循环里的方法去调用循环里的变量体i,会出现调到的不是i的变动值的问题。所以我先在循环外保存住
btn[i].onmouseover=function(){
show(this.index);
clearInterval(play); //这就是最后那句话追加的功能
}
}

//自动轮播方法
function autoPlay(){
play=setInterval(function(){ //这个paly是为了保存定时器的,变量必须在全局声明 不然其他方法调不到 或者你可以调用auto.play 也许可以但是没时间试了
index++;
index>=imgs.length&&(index=0);//可能有优先级问题,所以用了括号,没时间测试了。
show(index);
},1000)
}
autoPlay();//马上调用,我试过用window.onload调用这个方法,但是调用之后影响到了其他方法,使用autoPlay所以只能这样调用了

//div的鼠标移入移出事件
box.onmouseover=function(){
clearInterval(play);
};
box.onmouseout=function(){
autoPlay();
};
//按钮下标也要加上相同的鼠标事件,不然图片停止了,定时器没停,会突然闪到很大的数字上。 貌似我可以直接追加到之前定义事件中。

</script>
</body>
</html>

阅读全文

与js简单轮播图自己写程序相关的资料

热点内容
荣耀30a怎么隐藏app 浏览:836
打工去哪个网站找 浏览:529
ipad如何关闭app中的app 浏览:704
word全角半角 浏览:912
二手车网站怎么没有近一两年的车 浏览:900
多益网络校招哪些岗位 浏览:65
女生微信头像黑色 浏览:166
慢走丝g代码 浏览:30
编程四方括号怎么打出来 浏览:464
如何改网络让它变慢 浏览:12
应用多开助手安卓版 浏览:38
如何把思维传送网络 浏览:339
vb数据怎么合并 浏览:700
扫码购物app哪个好 浏览:39
win7桌面整理工具 浏览:489
ps参考线视频教程 浏览:608
如何调用指针中存储的数据 浏览:807
压缩文件比原文小多少 浏览:994
苹果mini2怎么读txt文件 浏览:498
java单例模式的应用 浏览:839

友情链接