首先设置一个大div stage,再在里边放一个条幅ad-banner,然后再放五个div模块ad,用来轮播,然后就是设置左右切换按钮:left-btn、right-btn。
<body> <div class="stage"> <div class="to-left"> </div> <div class="to-right">></div> <div class="banner"> <div class="items" style="background-color: green;">1</div> <div class="items" style="background-color: royalblue;">2</div> <div class="items" style="background-color: red;">3</div> <div class="items" style="background-color: yellow;">4</div> <div class="items" style="background-color: gray;">5</div> </div> </div> </body>
接下来就是用CSS样表对body里边的内容进行设置。
* { margin: 0px; padding: 0px; } .stage { width: 300px; height: 200px; border: 10px solid black; margin: 50px; margin-left: 200px; overflow: hidden; position: relative; } .banner { width: 1500px; height: 200px; }
然后就是对五个div模块设置宽高,设置行高及水平居中,流式布局向左,
.items { width: 300px; height: 200px; float: left; font-size: 50px; line-height: 200px; color: white; text-align: center; }
然后设置左右按钮,设置宽高,用绝对定位来定位,设置透明效果,字体大小等。设置字体大小颜色等。
.to-left, .to-right { height: 200px; width: 20px; position: absolute; line-height: 200px; background-color: gray; opacity: 0.5; font-size: 20px; text-align: center; } .to-left { left: 0px; } .to-right { right: 0px; }
接下来就是用JS设计点击事件
<script> var to_right = document.getElementsByClassName('to-right')[0]; var to_left = document.getElementsByClassName('to-left')[0]; var banner = document.getElementsByClassName('banner')[0]; var arr = []; var count = 1; to_right.onclick = function() { toRight(); } function toRight() { arr.push(window.setInterval("moveLeft()", 30)); } to_left.onclick = function() { toLeft(); } function toLeft() { arr.push(window.setInterval("moveRight()", 30)); } function moveLeft() { if(count < 5) { if(banner.offsetLeft > count * (-500)) { banner.style.marginLeft = banner.offsetLeft - 20 + "px"; } else { for(var x in arr) { window.clearInterval(arr[x]); } count++; } } } function moveRight() { if(count - 1 > 0) { if(banner.offsetLeft < (count - 2) * (-500)) { banner.style.marginLeft = banner.offsetLeft + 20 + "px"; } else { for(var x in arr) { window.clearInterval(arr[x]); } count--; } } } window.setInterval("toRight()", 1750); </script>