欢迎光临《小雷的网站》
加入收藏 | 设为首页 | 联系我们
小雷的网站
游客,您好!
请使用QQ先登陆
  • 最新公告:如果有什么问题,请大家联系客服处理.客服在线时间:12:00-23:59 其它时间段请留言.
  • 博文详细内容

    简单易用的JQUERY写的bannar通栏广告代码,直接调就用行了。
    资讯栏目:技术文摘 | 发布者:小雷 | 关注度:2277次 | 发布时间: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://www.leihx.com/news/31_1.html
    评论

    您还没有登陆,请登陆后再评论吧!
    本站只支持QQ登陆,请不要发布不当的以及违反国家法律的言论!
    ★传说★ 2020-03-29 20:26:03

    师傅,加油,666666666666666


    版权信息:@2018-2025 www.leihx.com 网站访问量:5352604人次 互联网ICP备案:黔ICP备15016820号-4
    联系地址:贵州省铜仁市碧江区川硐教育园区 合作咨询:400-180-5676 (周一至周五 9:00-18:00)