zoukankan      html  css  js  c++  java
  • banner 滚动

    1,展示全部banner,

    2,筛选对应展示的内容,

    3,鼠标滚轮滚动控制banner滚动,

    4,拉动滚动条控制banner滚动,

    5,点击左右按钮控制banner滚动。

    6,点击滚动条底色块控制banner滚动。
    提示:

    jquery.mousewheel.js官方地址:

    https://github.com/jquery/jquery-mousewheel (鼠标滚轮插件)

    mCustomScrollbar 官方地址:

    http://manos.malihu.gr/jquery-custom-content-scroller/ (jQuery自定义内容滚动条)

    or:这俩可以换着只用(用哪个都行)

    <!DOCTYPE html>
    <html>
    
    	<head>
    		<meta charset='utf-8' />
    		<title>banner 滚动</title>
    		<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
    		<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    		<script type="text/javascript" src="js/jquery.mousewheel.js"></script>
    		<style>
    			body {
    				margin: 0;
    				padding: 0;
    			}
    			
    			* {
    				margin: 0;
    				padding: 0;
    			}
    			
    			ul li {
    				list-style: none;
    			}
    			
    			.con {
    				 900px;
    				overflow: hidden;
    				margin: auto;
    				position: relative;
    			}
    			
    			.con ul {
    				position: relative;
    			}
    			
    			.con ul li {
    				text-align: center;
    				float: left;
    				 300px;
    			}
    			
    			.con ul li img {
    				 100%;
    			}
    			
    			.unOl {
    				display: none;
    			}
    			
    			.scroll-bar {
    				 900px;
    				height: 30px;
    				background: blue;
    				position: absolute;
    				bottom: 40px;
    				z-index: 999;
    				border-radius: 50px;
    			}
    			
    			.scroll-bar b {
    				 300px;
    				height: 28px;
    				background: yellow;
    				margin-top: 1px;
    				display: block;
    				border-radius: 50px;
    				cursor: pointer;
    				position: absolute;
    				left: 0;
    			}
    		</style>
    	</head>
    
    	<body>
    		<div class="nav">
    			<a href="javascript:;" class="all">all</a>
    			<a href="javascript:;" class="one">one</a>
    			<a href="javascript:;" class="two">two</a>
    		</div>
    		<div class="con">
    			<ul>
    				<li class="all one">
    					<img src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3861298306,2876621920&fm=26&gp=0.jpg" height="200" />
    					<p>all one</p>
    				</li>
    				<li class="all one two">
    					<img src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3861298306,2876621920&fm=26&gp=0.jpg" height="200" />
    					<p>all one two</p>
    				</li>
    				<li class="all">
    					<img src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3861298306,2876621920&fm=26&gp=0.jpg" height="200" />
    					<p>all</p>
    				</li>
    				<li class="all two">
    					<img src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3861298306,2876621920&fm=26&gp=0.jpg" height="200" />
    					<p>all two</p>
    				</li>
    				<li class="all two">
    					<img src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3861298306,2876621920&fm=26&gp=0.jpg" height="200" />
    					<p>all two</p>
    				</li>
    				<li class="all one">
    					<img src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3861298306,2876621920&fm=26&gp=0.jpg" height="200" />
    					<p>all one</p>
    				</li>
    				<li class="all two">
    					<img src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3861298306,2876621920&fm=26&gp=0.jpg" height="200" />
    					<p>all two</p>
    				</li>
    			</ul>
    			<div class="scroll-bar" id="scroll-bar">
    				<b id="scrollBar"></b>
    			</div>
    			<ol class="unOl"></ol>
    			<div class="leftRight-btn">
    				<a href="javascript:;" class="left">左</a>
    				<a href="javascript:;" class="right">右</a>
    			</div>
    		</div>
    
    		<script>
    			$(function() {
    				$(".con .unOl").html($('.con ul').html());
    				var ulLiLen = $('.con ul li').length,
    					ulLiWh = $('.con ul li').width();
    				var num = 0;
    
    				$('.con ul').width(ulLiLen * ulLiWh);
    
    				$(".scroll-bar b").width($(".scroll-bar").width() * (3 / ulLiLen));
    
    				//点击tab切换按钮
    				$(".nav a").click(function() {
    					var navClassName = $(this).attr('class');
    					$('.con ul').empty();
    					num = 0;
    					$(".con .unOl li").each(function() {
    						if($(this).hasClass(navClassName)) {
    							$('.con ul').append('<li class="' + navClassName + '">' + $(this).html() + '</li>')
    						}
    					});
    					ulLiLen = $('.con ul li').length;
    					ulLiWh = $('.con ul li').width();
    
    					$(".scroll-bar b").width($(".scroll-bar").width() * (3 / ulLiLen));
    
    					if(ulLiLen < 4) {
    						$(".scroll-bar").hide();
    					} else {
    						$(".scroll-bar").show();
    					}
    					$('.scroll-bar b').css('left', 0);
    					$('.con ul').css({
    						 $('.con ul li').width() * $('.con ul li').length,
    						'left': 0
    					});
    				});
    
    				//左右按钮
    				$(".leftRight-btn a").click(function() {
    					console.log(ulLiLen);
    					if(ulLiLen > 3) {
    						if($(this).hasClass('left')) {
    							leftRoll();
    						} else {
    							rightRoll();
    						}
    					}
    				});
    
    				//滚轮滚动
    				$(".con ul").on("mousewheel", function(event, delta) {
    					event.stopPropagation();
    					if(ulLiLen > 3) {
    						if(delta > 0) {
    							leftRoll();
    						} else if(delta < 0) {
    							rightRoll();
    						}
    					}
    				});
    
    				//向左滑动
    				function leftRoll() {
    					num--
    					if(num < 0) {
    						console.log('到头了');
    						num = 0;
    						return false
    					}
    					$('.con ul').animate({
    						'left': -num * ulLiWh
    					})
    					$('.scroll-bar b').animate({
    						'left': num * (($('.scroll-bar').width() - $('.scroll-bar b').width()) / (ulLiLen - 3))
    					})
    				}
    				//向右滑动
    				function rightRoll() {
    					num++
    					if(num > (ulLiLen - 3)) {
    						console.log('最大了');
    						num = ulLiLen - 3;
    						return false
    					}
    					$('.con ul').animate({
    						'left': -num * ulLiWh
    					})
    					$('.scroll-bar b').animate({
    						'left': num * (($('.scroll-bar').width() - $('.scroll-bar b').width()) / (ulLiLen - 3))
    					})
    				}
    
    				// 滚动条滚动
    				var scrollBars = document.getElementById("scroll-bar"); 
    				var scrollBar = document.getElementById("scrollBar");  
    				scrollBar.onmousedown = function(ev) {    
    					var oevent = ev || event;
    					console.log(scrollBar.offsetLeft)
    					var distanceX = oevent.clientX - scrollBar.offsetLeft; 
    					document.onmousemove = function(ev) {      
    						var oevent = ev || event;    
    						var scrollLeft = oevent.clientX - distanceX;
    						if(scrollLeft < 0 || scrollLeft > (scrollBars.offsetWidth - scrollBar.offsetWidth)) {
    							return false
    						}
    						scrollBar.style.left = scrollLeft + 'px';  
    
    						var animate_scrollLeft = scrollLeft * (ulLiWh / ($('.scroll-bar').width() / ulLiLen))
    
    						$('.con ul').animate({
    							'left': -animate_scrollLeft
    						}, 10);
    						num = Math.ceil(animate_scrollLeft / ulLiWh)
    						console.log(num)
    					};    
    					document.onmouseup = function() {      
    						document.onmousemove = null;      
    						document.onmouseup = null; 
    					};  
    					ev.stopPropagation();
    				};
    				
    				//点击滚动条底色滚动
    				$("#scroll-bar").mousedown(function(ev) { 
    					var offsetX = ev.offsetX;
    					var rollingLg = $('.scroll-bar').width() - $('.scroll-bar b').width();
    					
    					if(offsetX > rollingLg) {
    						offsetX = rollingLg;
    					}
    					$('.scroll-bar b').animate({
    						'left': offsetX
    					}, 200); 
    					$('.con ul').animate({
    						'left': -offsetX * (ulLiWh / ($('.scroll-bar').width() / ulLiLen))
    					}, 200);
    					num = Math.ceil(offsetX / ulLiWh)
    				})
    			})
    		</script>
    
    	</body>
    
    </html>
    

      

      

     

  • 相关阅读:
    Java 泛型 泛型的约束与局限性
    Java 泛型 泛型方法
    Java 泛型 泛型数组
    Java 泛型 协变性、逆变性
    Java 泛型 协变式覆盖和泛型重载
    Java 泛型 泛型代码和虚拟机
    Insertion Sort List
    Remove Duplicates from Sorted List II
    String to Integer (atoi)
    SpringMvc源码入门
  • 原文地址:https://www.cnblogs.com/yjgbk/p/10485004.html
Copyright © 2011-2022 走看看