각 이미지의 불투명도 속성을 변경하여:
자료사진 :
코드 1:
<!DOCTYPE html> <html lang="en"> <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 class="list"> <li class="current" 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 class="count"> <li class="current"></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=;i<btn.length;i++ ){ btn[i].className=''; //很容易看懂吧?每个按钮都先设置成看不见,然后把当前按钮设置成可见。 btn[a].className='current'; } for(i=;i<imgs.length;i++){ //把图片的效果设置和按钮相同 imgs[i].style.opacity=; imgs[a].style.opacity=; } } //切换按钮功能,响应对应图片 for(i=;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=);//可能有优先级问题,所以用了括号,没时间测试了。 show(index); },) } autoPlay();//马上调用,我试过用window.onload调用这个方法,但是调用之后影响到了其他方法,使用autoPlay所以只能这样调用了 //div的鼠标移入移出事件 box.onmouseover=function(){ clearInterval(play); }; box.onmouseout=function(){ autoPlay(); }; //按钮下标也要加上相同的鼠标事件,不然图片停止了,定时器没停,会突然闪到很大的数字上。 貌似我可以直接追加到之前定义事件中。 </script> </body> </html>
코드 2:
첫 번째 단계는 jquery 라이브러리 플러그인을 다운로드하는 것입니다. jquery.js는 인터넷의 여러 곳에서 다운로드할 수 있습니다. 다운로드한 플러그인은 해당 디렉터리에 있어야 합니다. 그런 다음 HTML 문서에서0f269f58bd133c330ef7d129ab83e0b42cacc6d41bbb37262a98f745aa00fbf0
를 링크하세요.두 번째 단계는 다음과 같은 DIV를 배치하는 것입니다.
<div id="scroll"> <p class="subl">上一张<p/> <p class="subr">下一张<p/> <ul> <li style="background:red;display:block;"></li> //上面的li要设定为显示,因为是第一张图片. <li style="background:green;"></li> <li style="background:gray;"></li> <li style="background:orange;"></li> </ul> </div>
네티즌들이 쉽게 다운로드할 수 있도록 이미지 경로를 사용하지 않았습니다. 여기서는 배경색을 사용했습니다.
세 번째 단계는 CSS를 작성하는 것입니다. 아래 CSS의 기본을 아시는 분이라면 누구나 이해하실 수 있을 것입니다.
#scroll{width:100%; height:180px; background-color:white; position:relative;border-bottom:1px solid gray;}//这里是给整个大的DIV设定属性. #scroll ul{height:180px; list-style:none;}//DIV下的UL属性. #scroll ul li{width:100%; height:180px;margin:0px; padding:0px; display:none;}//DIV下的UL下的LI属性.注意:display:none;因为要将所有的li隐藏了先.当点击的时候在显示出来. .subl{position:absolute; bottom:20px; left:40%; width:80px;height:20px; line-height:20px; text-align:center;font-size:16px;font-weight:bold; cursor:pointer;}//上一张按钮的属性.注意一个绝对定位. .subr{ position:absolute; bottom:20px; right:40%; width:80px;height:20px; line-height:20px; text-align:center;font-size:16px;font-weight:bold;cursor:pointer; }//下一张按钮的属性.注意一个绝对定位. .subr:hover{ background:yellow;border-radius:10px;} .subl:hover{ background:yellow;border-radius:10px;} //以上两个hover是鼠标经过的效果.
네 번째 단계는 jquery 코드입니다! 그것은 또한 매우 간단합니다. 먼저 코드를 읽어보시면 사용하실 수 있습니다!
<script type="text/javascript"> /*轮播*/ $(function(){ var i=0; var len=$("#scroll ul li").length-1; $(".subl").click(function(){ if(i==len){ i=-1; } i++; $("#scroll ul li").eq(i).fadeIn().siblings().hide(); }); //到这里分开!上面的是上一张点击的效果代码,下面的是下一张点击的效果代码. $(".subr").click(function(){//获取类名的点击事件. if(i==0){ i=len+1; } i--; $("#scroll ul li").eq(i).fadeIn().siblings().hide(); }); }); /*轮播*/ </script>
간단한 바퀴를 만드는 네 가지 쉬운 단계!