JQuery中Table标签页和无缝滚动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JQuery中Table标签页和无缝滚动相关的知识,希望对你有一定的参考价值。

html代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<link rel="stylesheet" href="css/tab1.css" />
		<script src="js/jquery.js"></script>
		<script src="js/tab1.js "></script>
	</head>
	<body>
		
		<div class="tabTitle">
			<ul>
				<li class="current0">xhtml</li>
				<li>css</li>
				<li>jquery</li>
			</ul>
		</div>
		
		<div class="tabContent">
			<div>xhtml的内容</div>
			<div class="hide">css的内容</div>
			<div class="hide">jquery的内容</div>
		</div>
	</body>
</html>

 CSS的代码:

*{
	padding: 0;
	margin: 0;
}
li{
	list-style-type: none;
}
body{
	margin: 50px;
}
.hide{
	display: none;
}
.tabTitle ul{
	overflow: hidden;
	_height:1px;
}
.tabTitle ul li{
	float: left;
	border: 1px solid #abcdef;
	border-bottom: none;
	height: 30px;
	line-height: 30px;
	padding:0 15px;
	margin-right: 3px;
	cursor: pointer;
}
.current0{
	background: #abcdef;
	color: #FF6600;
}
.current1{
	background: red;
	color: teal;
}
.current2{
	background: green;
	color: yellow;
}
.tabContent div{
	border: 1px solid #f60;
	width: 300px;
	height: 250px;
	padding: 15;
}

 js代码:

$(function(){
	var ali=$(\'.tabTitle ul li\');
	
	var aDiv=$(\'.tabContent div\');
	var timeId=null;
	ali.mouseover(function(){
		//this 定义成匿名函数
		var _this=$(this);
		//$(this)方法属于哪个元素,$(this)就是指哪个元素
		//siblings 除了选中的兄弟元素
		//setTimeout(): 延迟某一段代码的执行
		timeId=setTimeout(function(){
			//_this.addClass(\'current\').siblings().removeClass(\'current\');
			_this.addClass(function(){
				return \'current\'+_this.index();
			}).siblings().removeClass();
		
		var index=_this.index();
		
		//如果想用一组元素控制另外一组元素的显示或者隐藏,需要用到索引
		aDiv.eq(index).show().siblings().hide();
		},500);
		//鼠标移出时清除定时器
	}).mouseout(function(){
		//clearTimeout 的作用是清除定时器
		clearTimeout(timeId);
	});
});

效果:

 

无缝滚动HTML:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<link rel="stylesheet" href="css/hider.css" />
		<script src="js/jquery.js"></script>
		<script src="js/slider.js"></script>
	</head>
	<body>
		<a href="javascript:;" class="goLeft">向左走</a>
	    <a href="javascript:;" class="goRight">向右走</a>
	    
		<div class="warp">
			<ul>
				<li><img src="img/1.jpg" alt=""></li>
				<li><img src="img/2.jpg" alt=""></li>
				<li><img src="img/3.jpg" alt=""></li>
				<li><img src="img/4.jpg" alt=""></li>
				<li><img src="img/5.jpg" alt=""></li>
			</ul>
			
		</div>
	</body>
</html>

 CSS代码:

*{
	padding: 0;
	margin: 0;
}
li{
	list-style-type:none;
}
body{
	margin: 50px;
}
.warp{
	border: 3px solid #f00;
	width: 800px;
	height: 200px;
    position: relative; 
    overflow: hidden;
}
.warp ul{
	overflow: hidden;
	width: 1600px;
	position: absolute;
	left: 0;
	top:0;
	_height:1px;
}
.warp ul li{
	float: left;
}

 js代码:

//如果想使一个元素运动起来,一般情况下这个元素必须要具有与position属性
$(function(){
	var oul=$(\'.warp ul\');
	var oulHtml=oul.html();
	oul.html(oulHtml+oulHtml);
	var timeId=null;
	
	var ali=$(\'.warp ul li\');
	//或缺li的寬度
	var aliWidth=ali.eq(0).width();
	//或缺大小
	var aliSize=ali.size();
	var ulWidth=aliWidth*aliSize;
	oul.width(ulWidth);
	
	var speed=2;
	
	
	function slider(){
		if(speed<0)
		{
			if(oul.css(\'left\')==-ulWidth/2+\'px\')
			{
			oul.css(\'left\',0);
		    }
		        oul.css(\'left\',\'+=-2px\'); 
		}
		
		if(speed>0){
			if(oul.css(\'left\')==\'0px\')
			{
			   oul.css(\'left\',-ulWidth/2+\'px\');
		    }
			oul.css(\'left\',\'+=\'+speed+\'px\');
		}
		
		
	}
	
	//setInterval()函数的作用,每个一段时间执行该函数的代码
	timeId=setInterval(slider,30);
	 
	 $(\'.warp\').mouseover(function(){
	 	//clearInterval() 清除定时器
	 	clearInterval(timeId);
	 });
	 $(\'.warp\').mouseout(function(){
	 	timeId=setInterval(slider,30);
	 });
	 
	 $(\'.goLeft\').click(function(){
	 	speed=-2;
	 });
	 $(\'.goRight\').click(function(){
	 	speed=+2;
	 }); 
});

 轮播图:

HTML代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>圖片輪播</title>
		<link rel="stylesheet" href="css/slider.css"/>
		<script src="js/Jquery.js"></script>
		<script src="js/silder.js"></script>
	</head>
	<body>
		<div class="wrap">
			<ul>
				<li><img src="img/1.jpg" alt="111111"></li>
				<li><img src="img/2.jpg" alt="222222"></li>
				<li><img src="img/3.jpg" alt="333333"></li>
				<li><img src="img/4.jpg" alt="444444"></li>
			</ul>
			<ol>
				<li class="current">1</li>
				<li>2</li>
				<li>3</li>
				<li>4</li>
			</ol>
			<p class="introduce"></p>
			<span>111111</span>
		</div>
	</body>
</html>

css:

*{
	padding: 0;
	margin: 0;
}
li{
	list-style-type: none;
}
body{
	margin: 50px;
}
.wrap{
	width: 500px;
	height: 350px;
	border: 3px solid #f00;
	position: relative;
	overflow: hidden;
}
.wrap ul{
	width: 2000px;
	position: absolute;
	left: 0;
	top:0; 
}

.wrap ul li{
	float: left;
	width: 500px;
}
.wrap ol{
	  position: absolute;
	  bottom: 10px;
	  right: 10px;
}
.wrap ol li{
	float: left;
	width: 16px;
	height: 16px;
	line-height: 16px;
	text-align: center;
	border:1px solid #fc0;
	background: #000;
	color: #fff;
	margin-right: 3px;
	cursor: pointer;
}
.wrap ol li.current{
	background: #fff;
    color: #000;
}

.wrap .introduce{
	height: 30px;
	line-height: 30px;
	width: 400px;
	background: rgba(0,0,0,0.5);
	color: #fff;
	position:absolute;
	bottom: 10px;
	left: 10;
	/*opacity: 0.5;
	filter: alpha(opacity=50);*/
}

 JS:

$(function(){
	var oul=$(\'.wrap ul\');
	var ali=$(\'.wrap ul li\')
	var numli=$(\'.wrap ol li\');
	var aliWidth=$(\'.wrap ul li\').eq(0).width();
	var _now=0;  //控制数字样式的计时器
	var _now2=0;  //控制图片运动距离的计数器
	var timeId;
	var aimg=$(\'.wrap ul img\');
	var op=$(\'.wrap p\');
	
	numli.click(function(){
		//获取索引
		var index=$(this).index();
		//同步
		_now=index;
		_now2=index;
	 var imgAlt=	aimg.eq(_now).attr(\'alt\');
	    op.html(imgAlt);
		$(this).addClass(\'current\').siblings().removeClass();
		oul.animate({\'left\':-aliWidth*index},500);
		
		
		
	});
	
	//图片运动的函数  无返回值
	function slider(){
		if(_now==numli.size()-1){
			ali.eq(0).css({
				\'position\':\'relative\',
				\'left\':oul.width()
			});
			_now=0;
		}
		else{
			_now++; 
		}
		_now2++;
		
		numli.eq(_now).addClass(\'current\').siblings().removeClass();
	    var imgAlt=	aimg.eq(_now).attr(\'alt\');
	    op.html(imgAlt);
		oul.animate({\'left\':-aliWidth*_now2},500,function(){
			if(_now==0){
				ali.eq(0).css(\'position\',\'static\');
				oul.css(\'left\',0);
				_now2=0;  
				
		}
		});
		
		
	}
	
	timeId=setInterval(slider,1500);
	

	
	/*$(\'.wrap\').mouseover(function(){
		clearInterval(timeId);
	});
	$(\'.wrap\').mouseout(function(){
		timeId=setInterval(slider,1500);
	});*/
	
	$(\'.wrap\').hover(function(){
		clearInterval(timeId);
	},function(){
		timeId=setInterval(slider,1500);
	});
});

 效果:

 

以上是关于JQuery中Table标签页和无缝滚动的主要内容,如果未能解决你的问题,请参考以下文章

让table表头固定,tr超出指定条数后无缝上下循环滚动jquery效果代码

怎么实现marquee标签的向上无缝滚动?

asp中marquee 无缝滚动

jQuery中使用liMarquee无缝滚动走马灯

[html]table表格数据无缝循环滚动

[html]table表格数据无缝循环滚动