jquery向上滚动新闻鼠标悬停效果实现代码

新闻自动向上滚动效果,鼠标悬停在新闻上时,停止滚动,鼠标离开则恢复滚动状态。方法是通过setInterval()和clearInterval()两个函数实现。

HTML代码

<div class="express">
	<ul>
		<li><a href="#" title="滚动新闻标题一">滚动新闻标题一</a></li>
		<li><a href="#" title="滚动新闻标题一">滚动新闻标题二</a></li>
		<li><a href="#" title="滚动新闻标题一">滚动新闻标题三</a></li>
		<li><a href="#" title="滚动新闻标题一">滚动新闻标题四</a></li>
	</ul>
</div>

CSS代码

.express {height:30px; overflow:hidden;}
.express ul {position:relative; overflow:hidden;}
.express li {font-size:16px; height:30px; line-height:30px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

jQuery代码

<script>
function express(){
	var height = $('.express').find('li').height();
   $('.express').find('ul').animate({'marginTop':-height},1000,function(){
   		$(this).css('marginTop',0).children('li').eq(0).appendTo($(this));
		//因为第一个li移动到了最后面,那么当前的margin-top就是0
   });
}
$(function(){
	var express = setInterval(express, 3000);
   	$('.express li').hover(function(){
   		clearInterval(express); //鼠标悬停时,使用clearInterval停止执行	
   	},function(){
   		express = setInterval(express, 3000); //鼠标离开时,重新启用setInterval,注意:这里不要加var,这一句是给express重新附值,如果使用var就是定义了新变量express,那么clearInterval(express);就不生效或会出现异常。
   	});
});
</script>
关键词: jquery特效