第一次尝试自己写轮播图
来源:互联网 发布:阿里云关闭快照 编辑:程序博客网 时间:2024/06/04 19:28
其实嗯,对于前端我与很多很多想说的话,但是看着种种最后却不知道说什么了,既然这样那就什么都不要说
第一次尝试自己写轮播图,对于初学前端的我来说我感觉我晚了很久了
为什么要模仿写一份出来呢,我也不知道,做个纪念吧
html代码页面
7 <!DOCTYPE html> 8 <html> 9 <head>10 <meta charset="UTF-8">11 <title></title>12 <link rel="stylesheet" type="text/css" href="css/Carousel_XM.css"/>13 <script src="js/Carousel_XM.js" type="text/javascript" charset="utf-8"></script>14 </head>15 <body>16 <div class="contern" id="contern">17 <!--image-->18 <!--当你从最后一张图切换回第一张图时,有很大空白,利用两张辅助图来填补这个空白。19 这里补充下无缝滚动,直接看代码,复制最后一张图片放置第一张图片前,同时复制第一张图片放置最后一张图片的后面。20 并且,将第一张图片辅助图(实际上是实际显示的第5张图片隐藏起来,故设置style="left: -600px;")-->21 <div class="list" id="list" style="left: -600px;">22 <ul>23 <li><img src="img/img-4.jpg" alt="" /></li>24 25 <li><img src="img/img-1.jpg" alt="" /></li>26 <li><img src="img/img-2.jpg" alt="" /></li>27 <li><img src="img/img-3.jpg" alt="" /></li>28 <li><img src="img/img-4.jpg" alt="" /></li>29 30 <li><img src="img/img-1.jpg" alt="" /></li>31 </ul>32 </div>33 <!--button-->34 <div class="buttons" id="buttons">35 <ul>36 <li index=1 id="on" class="on"></li>37 <li index=2 ></li>38 <li index=3 ></li>39 <li index=4 ></li>40 </ul>41 </div>42 <!--left right button-->43 <a href="javascript:;" class="prev arrow" id="prev"><</a>44 <a href="javascript:;" class="next arrow" id="next">></a>45 </div>46 </body>47 </html>
css代码页面
1 *{ 2 margin: 0;padding: 0; 3 text-decoration: none; 4 } 5 li{ 6 list-style-type: none; 7 } 8 body{ 9 padding: 100px;10 }11 /*隐藏其他的图片*/12 .contern{13 width: 600px;height: 400px;14 border: 1px solid red;15 position: relative;16 overflow: hidden;17 }18 /*使用定位显示第二张图片*/19 .contern .list{20 width: 3600px;height: 400px;21 position: absolute;22 }23 .contern .list ul{24 width: 3600px;height: 400px;25 }26 .contern ul li{27 width:600px;height: 400px;28 float: left;29 }30 .contern ul li img{31 width: 600px;height: 400px;32 }33 /*按钮*/34 .buttons {35 width: 100px;height: 10px;36 position: absolute;37 bottom: 10px;38 left: 40%;39 z-index: 2;40 }41 .buttons ul li {42 width: 10px;height: 10px;43 float: left;44 margin-left: 10px;45 border-radius:10px;46 background-color: white;47 }48 .buttons ul .on {49 background-color: red;50 }51 /*左右*/52 .arrow{53 width: 50px ;54 height: 70px;55 position: absolute;56 top: 180px;57 /*left: 0px;*/58 z-index: 2;59 font-size: 50px;60 background-color: red;61 color: white;62 display: block;63 }64 .next{65 right: 0px;66 }
js代码的模块
//按钮手动切换效果window.onload=function(){ var list=document.getElementById("list"); var prev=document.getElementById("prev"); var next=document.getElementById("next"); var contern=document.getElementById("contern") //getElementsByTagName指定标签合 var buttons=document.getElementById("buttons").getElementsByTagName("li"); var index=1 var timer; function animates(a){ // //获取的是style.left,是相对左边获取距离,所以第一张图后style.left都为负值, //且style.left获取的是字符串,需要用parseInt()取整转化为数字。 var newlift=parseInt(list.style.left)+a; list.style.left=newlift+'px'; //偏移量判断 if(newlift>-600){ list.style.left=-2400+'px'; } if(newlift<-2400){ list.style.left=-600+'px'; } } //小圆圈跟随 function buttonShow(){ //清除样式 for (var i=0;i<buttons.length;i++ ){ if(buttons[i].className=='on'){ buttons[i].className=''; } } buttons[index-1].className='on'; } //点击圆圈 for(var i=0;i<buttons.length;i++){ //立即执行函数 (function(i){ buttons[i].onclick=function(){ var chilckindex=parseInt(this.getAttribute('index')); var offset=600*(index-chilckindex); animates(offset); index=chilckindex; buttonShow(); } })(i) } //两个按钮 prev.onclick=function(){ index-=1; if(index<1){ index=4; } buttonShow(); animates(600); } next.onclick=function(){ index+=1; if(index>4){ index=1; } buttonShow(); animates(-600); } //定时器自动播放 play(); //停止 contern.onmouseover=stop; contern.onmouseout=play; }//自动播放//对于定时器,有必要说明一下setInterval()跟setTimeout的区别了。//简单来说,setInterval()执行多次,setTimeout()只执行一次。function play(){ timer=setInterval(function (){ next.onclick(); },1500)}//鼠标悬停function stop(){ clearInterval(timer);}
其实很就简单,只是想给自己做个时间轴,看看自己都学了什么
阅读全文
0 0
- 第一次尝试自己写轮播图
- 第一次尝试
- 第一次尝试
- 第一次尝试
- 第一次尝试
- 第一次尝试
- 第一次尝试
- 第一次尝试
- 第一次尝试
- 第一次尝试BLOG!
- Appfuse第一次尝试
- C++类第一次尝试
- 2012 第一次尝试改变
- Hadoop的第一次尝试
- 第一次DWR+Spring尝试
- 第一次尝试权限管理
- 我第一次尝试Java
- 尝试写第一次博客
- NowCoder错题
- NYOJ 86-找球号(一)
- 一劳永逸的搞定 flex 布局
- SYD8801 API解析【ble_sched_execute】【BLE_SendData】
- 基本数据类型,引用类型的总结
- 第一次尝试自己写轮播图
- Repository
- Eclipse中 maven 工程 pom 文件 <execution> 出错
- 学习笔记:javascript内置对象:字符串对象
- 剑指offer面试题[24]-二插搜索树的后序遍历序列
- 学习笔记:javascript内置对象:数学对象
- 学习笔记:javascript内置对象:日期对象
- 学习笔记:javascript内置对象:数组对象
- 学习笔记:javascript 窗口对象(window)