js实现上下轮播代码怎么写(纯js轮播代码)[20240422更新]
admin 发布:2024-04-22 07:31 133
本篇文章给大家谈谈js实现上下轮播代码怎么写,以及纯js轮播代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
js如何制作图片轮播
工具/材料
Sublime Text
01
首先在Sublime Text下面准备一个html和5张图片,图片宽高为600px和400px,如下图所示
02
然后在HTML页面中布局轮播图的结构,如下图所示,主要包括图片区域,圆形按钮,左右箭头
03
接下来需要给轮播图页面布局声明一些样式,请按照下图所示的样式代码进行声明
04
最后就是实现轮播图的JS脚本功能,如下图所示,主要包括前进,后退,自动播放的功能
05
最后运行页面,你就会看到下图所示的轮播图效果,点击圆圈或者左右箭头可以切换轮播图
js实现轮播代码怎么写?
!DOCTYPE html
html
head
meta charset="UTF-"
title最简单的轮播广告/title
style
body, div, ul, li {
margin: ;
padding: ;
}
ul {
list-style-type: none;
}
body {
background: #;
text-align: center;
font: px/px Arial;
}
#box {
position: relative;
width: px;
height: px;
background: #fff;
border-radius: px;
border: px solid #fff;
margin: px auto;
}
#box .list {
position: relative;
width: px;
height: px;
overflow: hidden;
border: px solid #ccc;
}
#box .list li {
position: absolute;
top: ;
left: ;
width: px;
height: px;
opacity: ;
transition: opacity .s linear
}
#box .list li.current {
opacity: ;
}
#box .count {
position: absolute;
right: ;
bottom: px;
}
#box .count li {
color: #fff;
float: left;
width: px;
height: px;
cursor: pointer;
margin-right: px;
overflow: hidden;
background: #F;
opacity: .;
border-radius: px;
}
#box .count li.current {
color: #fff;
opacity: .;
font-weight: ;
background: #f
}
/style
/head
body
div id="box"
ul
li style="opacity: ;"img src="img/images/.jpg" width="" height=""/li
li style="opacity: ;"img src="img/images/.jpg" width="" height=""/li
li style="opacity: ;"img src="img/images/.jpg" width="" height=""/li
li style="opacity: ;"img src="img/images/.jpg" width="" height=""/li
li style="opacity: ;"img src="img/images/.jpg" width="" height=""/li
/ul
ul
li/li
li class=""/li
li class=""/li
li class=""/li
li class=""/li
/ul
/div
script
var box=document.getElementById('box');
var uls=document.getElementsByTagName('ul');
var imgs=uls[].getElementsByTagName('li');
var btn=uls[].getElementsByTagName('li');
var i=index=; //中间量,统一声明;
var play=null;
console.log(box,uls,imgs,btn);//获取正确
//图片切换, 淡入淡出效果我是用(transition: opacity .s linear)做的,不纠结、简单 在css里面
function show(a){ //方法定义的是当传入一个下标时,按钮和图片做出对的反应
for(i=;ibtn.length;i++ ){
btn[i].className=''; //很容易看懂吧?每个按钮都先设置成看不见,然后把当前按钮设置成可见。
btn[a].className='current';
}
for(i=;iimgs.length;i++){ //把图片的效果设置和按钮相同
imgs[i].style.opacity=;
imgs[a].style.opacity=;
}
}
//切换按钮功能,响应对应图片
for(i=;ibtn.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=);//可能有优先级问题,所以用了括号,没时间测试了。
show(index);
},)
}
autoPlay();//马上调用,我试过用window.onload调用这个方法,但是调用之后影响到了其他方法,使用autoPlay所以只能这样调用了
//div的鼠标移入移出事件
box.onmouseover=function(){
clearInterval(play);
};
box.onmouseout=function(){
autoPlay();
};
//按钮下标也要加上相同的鼠标事件,不然图片停止了,定时器没停,会突然闪到很大的数字上。 貌似我可以直接追加到之前定义事件中。
/script
/body
/html
怎么用js的原生写法写出来一个轮播图呢?
1:排出一个版,包含上下切换的标识和图片导航,所有图片隐藏,给图片第一张加一个class名,样式设为显示,图片导航的第一个加一个class名,加上背景色;
2:获取节点;
3:给向下切换写一个点击事件,点击图片切换到下一张,注意当图片切换到最后一张的时候会报错,所以必须要判断一下,当图片切换到最后一张的时候在,再次击会切换到第一张;
4:给向上切换写一个点击事件,注意当图片切换到第一张之后会报错,所以必须要判断一下,当图片切换到第一的时候,再次点击会切换到最后张,循环起来;
5:写一个定时器,定时器的播放顺序和向下切换一致,可以封装一个函数方便调用;
6:写鼠标划入事件,清除定时器;
7:写鼠标移出事件,定时器继续运行;
8:图片导航的点击事件
点击事件click
定时器setlnterval()
if判断
for()循环
关于js实现上下轮播代码怎么写和纯js轮播代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-13网销怎么找客户资源,做销售怎么和客户聊天
- 05-13怎么投稿?,怎么投稿同城游览
- 05-13怎么搭建网站,怎么搭建网站教程
- 05-13百度怎么做关键词优化,百度移动端关键词优化
- 05-13怎么制作公司网页,怎样制作自己公司的网页
- 05-12网站是怎么建立起来的,网站是怎么建立起来的视频
- 05-11怎么在百度制作自己的网站,如何能在百度上设计个自己的网页
- 05-11seo搜索优化怎么做,seo搜索引擎如何优化
- 05-10seo是什么意思怎么解决,seo是什么意思呢
- 05-10实体店怎么引流推广,实体店最新引流方法
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接