js改变透明度实现轮播

谁说我不能喝 提交于 2019-11-28 12:20:44

在项目中常见的就是轮播图,为开发快速方便,我们常用的就是UI框架提供的Swiper、Carousel、Slider等封装好的轮播插件。但是,用UI框架提供的轮播图的话,一个是如果需要实现的轮播功能效果比较少就显得有点大材小用了,而且会使项目比较大,不大好优化管理;另外一个就是没有透明度的变化的轮播,我找了好几个UI框架都没有找到,最后还是选择了用JS封装了一个,以便后续使用。

js实现透明度轮播
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<style type="text/css">
		.homebanner{
		  position: relative;
		  height: 600px;
		  max-width: 1920px;
		}
		.homebanner .homebannerlist{
		  position: relative;
		  width: 100%;
		  height: 600px;
		}
		.homebannerlist li{
		  position: absolute;
		  top: 0;
		  left: 0;
		  display: block;
		  float: left;
		  width: 100%;
		  height: 600px;
		}
		.homebanner_directionnav,.newbanner_directionnav {
		  position: relative;
		  z-index: 10;
		  width: 1140px;
		  margin: 0 auto;
		}
		.homebanner_directionnav{
		  width: auto;
		}
		.homebanner_directionnav .newbanner_next,.homebanner_directionnav .newbanner_prev {
		  position: absolute;
		  top: -390px;
		  width: 42px;
		  height: 113px;
		  cursor: pointer;
		  background:url("images/arrowhead.png") 0 -60px;
		}
		.homebanner_directionnav > .newbanner_prev{
		  left: 114px;
		}
		.homebanner_directionnav > .newbanner_next{
		  background-position: -42px -60px;
		  right: 114px;
		}
		.hide{
		  display: none;
		}
		.homebannernav{
		  position: absolute;
		  left: 0;
		  bottom: 0;
		  z-index: 5;
		  width: 100%;
		  height: 30px;
		  text-align: center;
		}
		.homebannernav li{
		  display: inline-block;
		  zoom: 1;
		  width: 10px;
		  height: 10px;
		  margin: 5px 8px;
		  cursor: pointer;
		  overflow: hidden;
		  text-indent: 18px;
		  background: url("images/shopbanner_hover.png") no-repeat;
		}
		.homebannernav .active{
		  background: url("images/shopbanner_link.png") no-repeat;
		}
	</style>
	<body>
		<div class="homebanner">
		  <ul class="homebannerlist">
		    <li style="background:url('images/1.jpg') center center no-repeat;Zindex:0; opacity:1"></li>
		    <li style="background:url('images/2.jpg') center center no-repeat;Zindex:0; opacity:1"></li>
		  </ul>
		  <ul class="homebannernav">
		    <li class="">1</li>
		    <li class="">2</li>
		  </ul>
		  <div class="homebanner_directionnav">
		    <div id="leftBtn" class="newbanner_prev">&nbsp;</div>
		    <div id="rightBtn" class="newbanner_next">&nbsp;</div>
		  </div>
		</div>
	</body>
	<script type="text/javascript">
	function Broadcast() {
	    //小圆点点亮
		$(".homebannernav li").eq(0).addClass("active");
		var index = 0;
	    var timer = null;
	    $(".homebannernav li").hover(function() {
	        clearInterval(timer);
	        index = $(this).index();
	        $(this).addClass("active").siblings().removeClass("active");
	        $(".homebannerlist li").eq(index).css('opacity', 0).animate({'opacity': 1}, 500);
	        $(".homebannerlist li").eq(index).siblings().css('opacity', 1).animate({'opacity': 0}, 500);
	    }, function() {
	        auto();
	    });
	    
	    auto();
	    //图片自动轮播
		function auto() {
		    timer = setInterval(function() {
	            index++;
	            if (index > 1) {
	                index = 0;
	            }
	            $(".homebannernav li").eq(index).addClass("active").siblings().removeClass("active");
	            $(".homebannerlist li").eq(index).css('opacity', 0).animate({ 'opacity': 1},500);
	            $(".homebannerlist li").eq(index).siblings().css('opacity', 1).animate({ 'opacity': 0}, 500);
	        }, 5000);
	    }
	
		//鼠标移入移除事件
		$(".homebanner").mouseover(function(){
			$("#leftBtn").css("display","block");
			$("#rightBtn").css("display","block");
	        clearInterval(timer);
		});
		$(".homebanner").mouseleave(function(){
			$("#leftBtn").css("display","none");
			$("#rightBtn").css("display","none");
	        timer=setInterval(function() {
	            index++;
	            if (index > 1) {
	                index = 0;
	            }
	            $(".homebannernav li").eq(index).addClass("active").siblings().removeClass("active");
	            $(".homebannerlist li").eq(index).css('opacity', 0).animate({ 'opacity': 1},500);
	            $(".homebannerlist li").eq(index).siblings().css('opacity', 1).animate({ 'opacity': 0}, 500);
	        }, 5000);
		});
	    $("#leftBtn").click(function(){
	        index+=-1;
	        if (index < 0) {
	            index = 1;
	        }
	        $(".homebannernav li").eq(index).addClass("active").siblings().removeClass("active");
	        $(".homebannerlist li").eq(index).css('opacity', 0).animate({ 'opacity': 1},500);
	        $(".homebannerlist li").eq(index).siblings().css('opacity', 1).animate({ 'opacity': 0}, 500);
	    });
	    $("#rightBtn").click(function(){
	        index+=1;
	        if (index > 1) {
	            index = 0;
	        }
	        $(".homebannernav li").eq(index).addClass("active").siblings().removeClass("active");
	        $(".homebannerlist li").eq(index).css('opacity', 0).animate({ 'opacity': 1},500);
	        $(".homebannerlist li").eq(index).siblings().css('opacity', 1).animate({ 'opacity': 0}, 500);
	    })
		
	}
	Broadcast()
	</script>
</html>

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!