当前位置:首页 - 技术文摘

简单易用的JQUERY写的bannar通栏广告代码,直接调就用行了。

栏目:技术文摘 | 阅读:2549次 | 发布日期:2018-10-21 00:00:00

首先声明一下:

    本例子的那个小园点和实际的图片顺序不对应,是因为我每张图滚动过后,又把第一张图的内容自动通过 appentTo加到了图片的最后面。所以,更新了他们的索引编号。

    如果是淡入淡出效果的,或者是通过两个div来滚动的那种设计就不会有问题。如果有需要的,可以联系我,更改成那种方式。

效果如下:

blob.png

第一步:样式表

<style>
	body{}
	#box{height:200px;border:1px #C00 solid; position:relative;overflow:hidden}
	#box #list{width:8000px;z-index:1;position:absolute}
	#box #list li{margin-right:1px;width:600px;height:200px;float:left;background-color:pink; list-style-type:none; display:inline;}
	.btn{opacity:0;width:50px;padding:10px;background-color:#999;border-radius:5px;z-index:3; position:absolute;}
	.btn:hover{opacity:0.5;}
	#xyd{bottom:10px; position:absolute;left:50%;margin-left:-40px;text-align:auto;z-index:2}	
	#xyd li{display:inline;padding:2px 6px;border-radius:50%;}
	.xyd{background-color:#ccc;}
	.xyd2{background-color:#FFF;}	
	#btnleft{margin-left:10px;float:left}
	#btnright{float:right;right:10px;}
</style>

第二步,bannar的代码结构:

<div id="box">
    	<div id="list">
            <li><img src="images/1.jpg" width="100%"/></li>
            <li><img src="images/2.jpg" width="100%"/></li>
            <li><img src="images/3.jpg" width="100%"/></li>
            <li><img src="images/4.jpg" width="100%"/></li>
            <li><img src="images/5.jpg" width="100%"/></li>
        </div>
        <div id="xyd">
    	    <li class="xyd">1</li>
            <li class="xyd">2</li>
            <li class="xyd">3</li>
            <li class="xyd">4</li>
            <li class="xyd">5</li>
        </div>
        <div id="btnleft" class="btn"> 上一张 </div>
        <div id="btnright" class="btn">下一张</div>
    </div>

第三步:JQUERY代码:

<script>

function bannar($boxid,$boxw,$boxh){
	$($boxid).css({'width':$boxw,'height':$boxh,'overflow':'hidden'});
	var $bw = parseInt($($boxid).css('width'));
	var $boxh = parseInt($boxh);
	var $count = $("#list").children().length;//获取列表的个数
	var $list = $($boxid "#list");
	var $xyd = $($boxid "#xyd li")
	var $listli = $("#list li");
	var index = 0;
	//先设置一下list容器向左移一个box的宽度
	$($boxid).css({'width':$bw,'height':$boxh,'overflow':'hidden'});
	$($list).css('margin-left',-$bw);
	$($listli).css({'width':$bw,'height':$boxh,'overflow':'hidden'});
	$(".btn").css('top',$boxh/2);
	
	//右键点击理件
	$("#btnright").click(rightclick);
	//左键点击事件
	$("#btnleft").click(leftclick);
	
	//把右键的点击行为封装成一个函数	
	function leftclick(){
		//防止用户多次点击,叠加太多的动画,进行防流氓点击
		if($list.is(":animated")){ //如果当前的list正在位移中,则忽略掉新的操作。
			return;	
		}else{
			//点击左键的时候,list原来的基础上,再向左位移一个盒子的宽。
			$list.animate({'margin-left':-$bw*2},500,function(){
				//位移后的回调函数:把list里面的第一个子元素移动到list盒子的最后面,再更改list的盒子左边距为起始
				$("#list li").eq(0).appendTo("#list").parent().css('margin-left',-$bw);	
			});	
			//获取信号源
			index--;
			if(index < 0){
				index = $count - 1;	
			}
			$($xyd).eq(index).addClass("xyd2").siblings().removeClass("xyd2");
			
		}
	}
	
	//右键点击事件
	function rightclick(){
		//同样的先加入防流氓点击
		if($list.is(":animated")){
			return	
		}else{
			//点击右键的时候,list原来的基础上,再向右位移一个盒子的宽,回到零。
			$list.animate({'margin-left':0},500,function(){
			//位移后的回调函数:把list里面的第一个子元素移动到list盒子的最后面,再更改list的盒子左边距为起始
			$("#list li").eq($count-1).prependTo("#list").parent().css('margin-left',-$bw);	
			});
			//小园点
			index++ ;
			if(index > $count-1){
				index = 0;
			}	
			$($xyd).eq(index).addClass("xyd2").siblings().removeClass("xyd2");		
		}
	}
	//自动播放
	var timer = setInterval(rightclick,3000);
	//鼠标事件
	$($boxid).mouseenter(function(){
		clearInterval(timer);
		$(".btn").animate({'opacity':0.5});	
	})
	$($boxid).mouseleave(function(){
		clearInterval(timer);
		timer = setInterval(rightclick,3000);
		$(".btn").animate({'opacity':0});	
	});
}
        //调用函数bannary让他网页打开后就自动运行。
	bannar("#box",900,300);//自动播放   函数说明:bannar("bannar容器的ID",容器的宽,容器的高)
</script>


这是我第一次写的JQUERY轮播图代码,有很多不完善的地方。希望大家相互交流,以后一定会更加的完善的。大神请绕过。匆喷。

你可以根据你的需要,自己修改里面的代码。

使用的时候只要调用

bannar("bannar容器的ID",容器的宽,容器的高)

就可以了。


转载请注明出注:小雷的网站 http://leihx.com/index/news/31.html
我要评论

点击QQ图标登陆后才可以发表评论
查看评论

★传说★ 2020-03-29 20:26:03
师傅,加油,666666666666666

版权信息:@2023-2029 www.leihx.com 网站访问量:5433700人次 互联网ICP备案:黔ICP备15016820号-4