原生javascript实现完整的轮播图

本文详细介绍了如何从零开始构建一个轮播图特效,包括HTML结构搭建、CSS样式设置,以及后续将加入的JavaScript动态处理。通过本文,你将学会如何创建一个既美观又实用的轮播图组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

轮播图是现在网站网页上最常见的效果之一,我们日常工作可能会使用轮播图插件,可是一旦插件和需求不对等的时候你就需要寻找更符合你要求的插件。那么我们有找插件的功夫还不如自己写一个轮播图,既提升了技术又便于维护。

  • 无论我们做什么特效,都要记住一个原则,先写静态的代码,再做动态的处理!

html

         //最外层壳子 
	 <div class='all' id='all'>
     
	   <div class='screen' id='screen'>
                //装图片的壳子
		<ul id='ul'>
		 <li><img src="img/tx1.jpg" width="500" height='200' alt=""></li>
		 <li><img src="img/tx2.jpg" width="500" height='200' alt=""></li>
		 <li><img src="img/tx3.jpg" width="500" height='200' alt=""></li>
		 <li><img src="img/tx4.jpg" width="500" height='200' alt=""></li>
		 <li><img src="img/tx5.jpg" width="500" height='200' alt=""></li>
		</ul>
                //装图片序号的壳子等会根据图片的数量用js动态添加
		<ol></ol>
                //左右箭头
		<div id="arr">
	          <span id="left"></span>
		  <span id="right"></span>
		</div>
	   </div>

	 </div>

html搭建了一个基础的轮播图框架

现在页面的图片是按顺序展开的

接下来用css给它美化一下

   *{
	 padding:0;
	  margin:0; 
	  list-style:none; 
	  border:0;
	}
    .all{
        width:500px;
        height:200px;
        padding:7px;
        border:1px solid #ccc;
        margin:100px auto;
        position:relative;
    }
    .screen{
        width:500px;
        height:200px;
        overflow:hidden;
        position:relative;
    }
    .screen li{
        width:500px; 
        height:200px; 
        overflow:hidden; 
        float:left;
    }
    .screen ul{ 
    	position:absolute; 
    	left:0; top:0px; 
    	width:3000px;
    }
    .all ol{ 
    	position:absolute; 
    	right:10px; 
    	bottom:10px; 
    	line-height:20px; 
    	text-align:center;
    }
    .all ol li{ 
    	float:left; 
    	width:20px; 
    	height:20px; 
    	background:#fff; 
    	border:1px solid #ccc; 
    	margin-left:10px; 
    	cursor:pointer;
    	border-radius: 50%;
    	color: #999;
    }
    .all ol li.current{ 
    	background:#bfab1f;
    	border: 1px solid #bfab1f;
    	color: #fff;
    }
    #arr {
    	display: none;
    }
    #arr span{ 
    	width:40px; 
    	height:40px; 
    	position:absolute; 
    	left:5px; 
    	top:50%; 
    	margin-top:-20px; 
    	background:#000; 
    	cursor:pointer; 
    	line-height:40px; 
    	text-align:center; 
    	font-weight:bold; 
    	font-family:'黑体'; 
    	font-size:30px; 
    	color:#fff; 
    	opacity:0.3; 
    	border:1px solid #fff;
    }
    #arr #right{
    	right:5px; 
    	left:auto;
    }

美化后的效果:

 

 

 

              注意要给放图片的ul的长度设成3000px

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值