JavaScript——网页轮播图( 实现点击小圆点、图片滑动、小圆点样式改变)

news/2024/12/29 23:14:49/

一、轮播图要实现的效果:

实现点击小圆点、图片滑动、小圆点样式改变

二、轮播图实现效果步骤:

1.利用html+css完成轮播图片,底部小点的整体效果的布局。

2.通过原生js完成图片轮播,无缝自动切换,底部小点随图片切换而切换。

css部分

 	        *{padding: 0px;margin: 0px;}.banner{width: 600px;margin: auto;border: 10px solid green;height: 350px;position: relative;overflow: hidden;}.imgList img{width: 600px;height: 350px;}.imgList{/* 绝对定位 */position: absolute;/* left:-600px; *//* width: 2600px; */}.imgList li{float:left;margin-right: 20px;list-style: none;}.circle{position: absolute;bottom: 15px;left:50%;transform:translateX(-50%);}.circle a{width: 15px;height: 15px;background: green;display: block;border-radius: 50%;opacity: .8;float: left;margin-right: 10px;}.circle a.hover{background: black;opacity: .7;}

html部分

       <div class="banner"><ul class="imgList"><li><img src="banner/1.png"/></li><li><img src="banner/2.jpg"/></li><li><img src="banner/3.jpg"/></li><li><img src="banner/4.jpg"/></li></ul><div class="circle"><!-- <a href="javascript:;"></a><a href="javascript:;"></a><a href="javascript:;"></a> --></div></div>

JS部分

        <!-- 实现 点击小圆点 图片滑动  小圆点样式改变 --><script type="text/javascript">// 确定ul的宽度 动态的创建小圆点var imgList = document.querySelector('.imgList');var circle = document.querySelector('.circle');var circleA = circle.children;// thisIndex默认索引值是0var thisIndex = 0;// console.log(imgList.children.length);// window.onload延迟加载函数window.onload = function(){//给ui标签设置宽度imgList.style.width =imgList.children.length*620+'px';//下面动态创建a标签for (var i = 0; i < imgList.children.length; i++) {var aNode = document.createElement('a');//我们在这里创建index属性来记录索引值aNode.setAttribute('index',i);circle.appendChild(aNode);}//给小圆点加点击事件circle.addEventListener('click',function(e){//这里给a标签点击事件有个小bug 就是我们鼠标点击到.circle标签时候图片也滑动了 //解决上面小bug的方法if(e.target.nodeName !='A'){return false;}// e.target指向的是a标签console.log(e.target);// console.log(e.target.nodeName);// 获得索引值thisIndex = e.target.getAttribute('index');// console.log(thisIndex);//图片移动的规则 0索引值 ->0  1 ->-1*620  2 ->-2*620 imgList.style.left = -thisIndex*620+'px';//调用小圆点改变样式的函数circlechange();})function circlechange(){//先清除样式 再添加样式for (var i = 0; i <circleA.length; i++) {circleA[i].className = '';}circleA[thisIndex].className = 'hover';}				}					</script>

动态效果图如下:

 


http://www.ppmy.cn/news/840556.html

相关文章

li前面的小圆点样式修改

css中用list-style-type指定列表&#xff08;lists&#xff09;前面符号,如下&#xff1a; li {list-style-type:符号名称} 符号名称可用的值为&#xff1a; disc :  CSS1 实心圆 circle :  CSS1 空心圆 square :  CSS1 实心方块 decimal :  CSS1 阿拉伯数字 lower-ro…

vue 画一个小圆点

效果图&#xff1a; 方法1&#xff1a; <span style"margin: 0 10px;font-size: 36px">•</span> 右击右下角输入法&#xff0c;点击表情符号&符号&#xff0c;往下翻&#xff0c;会找到符号中的小圆点&#xff0c;再设置大小&#xff0c;用font-s…

css 绘制小圆点

1.直接上代码 <html> <head> <style type"text/css">.dot {position: absolute;top: 50%;margin-left: -5px;margin-top: -5px;width: 10px;height: 10px;border-radius: 100%;background: #ffff;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .2);}<…

Flutter 绘制小圆点

Row(children: [Container(width: 10,height: 10,decoration: BoxDecoration(color: Colors.black87,borderRadius: BorderRadius.all(Radius.circular(5))),),SizedBox(width: 5,),Text("无法使用账号",style: TextStyle(color: Colors.black87, fontSize: 16),),],…

C++ 找标定圆点

原图 6*9 6*6 6*5 为什么不是能检测出任意形状&#xff1f;&#xff1f;&#xff1f; 如5*X就检测不出来 测试的至少要6*5 而6不是变&#xff0c;否则就检测不到 #include <opencv.hpp>using namespace cv; using namespace std;int main() {// Blob算子参数SimpleBlob…

修改列表ul li 圆点样式 自定义li前圆点样式

问题描述 在做静态页面时&#xff0c;要按照设计图修改li标签前圆点的样式及颜色。 实现方法 html文件&#xff1a; <ul><li>我是第一个</li><li>我是第一个</li><li>我是第一个</li> </ul>css文件&#xff1a; 1.修改圆点…

opencv标定实现总结(圆点,棋盘格和非对称圆点)

opencv官方下载的时候会给我们安装一段标准标定代码&#xff0c;位置如下&#xff1a; 安装与配置教程见&#xff1a;64位OpenCV库生成32位库并配置环境变量 使用方法 1&#xff0c;文件意义 camera_calibration.cpp是opencv标定源码&#xff0c;in_VID5是标定参数设置文件…

给li标签添加 小圆点

盒子: <body> <div class"box"> <ul> <li>展示第1个li标签</li> <li>展示第2个li标签</li> <li>展示第3个li标签</li> <li>展示第4个li标签</li> <li>展示第5个li标签</li> </ul…