基于jQuery的公告无限循环滚动实现代码


Posted in Javascript onMay 11, 2012

在线演示:http://demo.3water.com/js/2012/callboard/
jQuery代码

//第二版:Newton改造 
(function (win){ 
var callboarTimer; 
var callboard = $('#callboard'); 
var callboardUl = callboard.find('ul'); 
var callboardLi = callboard.find('li'); 
var liLen = callboard.find('li').length; 
var initHeight = callboardLi.first().outerHeight(true); 
win.autoAnimation = function (){ 
if (liLen <= 1) return; 
var self = arguments.callee; 
var callboardLiFirst = callboard.find('li').first(); 
callboardLiFirst.animate({ 
marginTop:-initHeight 
}, 500, function (){ 
clearTimeout(callboarTimer); 
callboardLiFirst.appendTo(callboardUl).css({marginTop:0}); 
callboarTimer = setTimeout(self, 5000); 
}); 
} 
callboard.mouseenter( 
function (){ 
clearTimeout(callboarTimer); 
}).mouseleave(function (){ 
callboarTimer = setTimeout(win.autoAnimation, 5000); 
}); 
}(window)); 
setTimeout(window.autoAnimation, 5000);

HTML代码:
<div id="callboard"> 
<ul> 
<li> 
<a href="http://www.qianduanzu.com/2012042036.html">公告:前端组主题正在整理中..有需要用的朋友请留个言,以方便及时通知!</a> 
</li> 
<li> 
<span style="color:red;">公告:前端组上线一个月零八天,PR升为3,BD权重1</span> 
</li> 
</ul>

CSS代码:(可根据需求另设)
#callboard { height:24px; line-height:24px; overflow:hidden;} 
#callboard ul { padding:0;} 
#callboard li { padding:0;}

完整演示代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>滚动公告栏</title> 
<style type="text/css"> 
header, nav, aside, menu, figure, article, footer { display:block; } 
body, div, form, textarea, label, input, ul, ol, li, dl, dt, dd, p, span, a, img, h1, h2, h3, h4, h5, h6, tbody, tfoot, tr, th, td, pre, code, form, fieldset, legend, font { margin:0; padding:0; } 
table { border-collapse:collapse; border-spacing:0; } 
caption, th { text-align:left; } 
sup { vertical-align:text-top; } 
sub { vertical-align:text-bottom; } 
li { list-style:none; } 
fieldset, img { border:none; } 
input, textarea, select { font-family:inherit; font-size:inherit; font-weight:inherit; *font-size:100%; 
color:inherit; _color:#333; *color:#333; 
outline:none; } 
/*BASE CLASS*/ 
.cfix { *display:inline-block;*zoom:1} 
.cfix:after { content:"."; display:block; height:0; clear:both; visibility:hidden; } 
/*公告栏滚动CSS*/ 
#callboard { width:600px; margin:100px auto 0; height:24px; line-height:24px; overflow:hidden; font-size:12px; background-color:#f5f5f5;} 
#callboard ul { padding:0; } 
#callboard li { padding:0; } 
</style> 
<script type="text/javascript" src="http://demo.3water.com/jslib/jquery/jquery-1.7.2.min.js"></script> 
</head> 
<body> 
<div id="callboard"> 
<ul> 
<li> 
<span style="color:red;">公告[2]:前端组上线一个月零八天,PR升为3,BD权重1</span> 
</li> 
<li> 
<span style="color:red;">公告[3]:撤下了BloggerAds,原因为收入太少,打开速度慢!</span> 
</li> 
<li style="margin-top: 0px;"> 
<a href="https://3water.com">公告[1]:前端组主题正在整理中..有需要用的朋友请留个言,以方便及时通知!</a> 
</li> 
</ul> 
</div> 
<!--公告板滚动--> 
<script type="text/javascript"> 
(function (win){ 
var callboarTimer; 
var callboard = $('#callboard'); 
var callboardUl = callboard.find('ul'); 
var callboardLi = callboard.find('li'); 
var liLen = callboard.find('li').length; 
var initHeight = callboardLi.first().outerHeight(true); 
win.autoAnimation = function (){ 
if (liLen <= 1) return; 
var self = arguments.callee; 
var callboardLiFirst = callboard.find('li').first(); 
callboardLiFirst.animate({ 
marginTop:-initHeight 
}, 500, function (){ 
clearTimeout(callboarTimer); 
callboardLiFirst.appendTo(callboardUl).css({marginTop:0}); 
callboarTimer = setTimeout(self, 5000); 
}); 
} 
callboard.mouseenter( 
function (){ 
clearTimeout(callboarTimer); 
}).mouseleave(function (){ 
callboarTimer = setTimeout(win.autoAnimation, 5000); 
}); 
}(window)); 
setTimeout(window.autoAnimation, 5000); 
</script> 
</body> 
</html>
Javascript 相关文章推荐
js select常用操作控制代码
Mar 16 Javascript
25个好玩的JavaScript小游戏分享
Apr 22 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
Jun 24 Javascript
Javascript中call的两种用法实例
Dec 13 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
Jan 24 Javascript
使用JS取得焦点(focus)元素代码
Mar 22 Javascript
jquery实现鼠标悬浮停止轮播特效
Aug 20 Javascript
基于jquery实现的仿优酷图片轮播特效代码
Jan 13 Javascript
ionic 上拉菜单(ActionSheet)实例代码
Jun 06 Javascript
Require.JS中的几种define定义方式示例
Jun 01 Javascript
redux.js详解及基本使用
May 24 Javascript
vue 中url 链接左边的小图标更改问题
Dec 30 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
May 11 #Javascript
通过百度地图获取公交线路的站点坐标的js代码
May 11 #Javascript
疯狂Jquery第一天(Jquery学习笔记)
May 11 #Javascript
jQuery 过滤not()与filter()实例代码
May 10 #Javascript
jQuery 在光标定位的地方插入文字的插件
May 10 #Javascript
javascript 在firebug调试时用console.log的方法
May 10 #Javascript
jQueryUI写一个调整分类的拖放效果实现代码
May 10 #Javascript
You might like
linux命令之调试工具strace的深入分析
2013/06/03 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
自制PHP框架之设计模式
2017/05/07 PHP
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
iframe 父窗口和子窗口相互的调用方法集锦
2010/12/15 Javascript
也说JavaScript中String类的replace函数
2011/09/22 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
2014/11/12 Javascript
jquery实现动态操作select选中
2015/02/11 Javascript
Jquery easyui开启行编辑模式增删改操作
2016/01/14 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
纯js实现倒计时功能
2017/01/06 Javascript
微信小程序网络请求封装示例
2018/07/24 Javascript
layer弹出层父子页面事件相互调用方法
2018/08/17 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
深入了解Vue.js 混入(mixins)
2020/07/23 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
es5 类与es6中class的区别小结
2020/11/09 Javascript
[01:25]2015国际邀请赛最佳短片奖——斧王《拆塔英雄:天赋异禀》
2015/09/22 DOTA
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
使用python来调用CAN通讯的DLL实现方法
2019/07/03 Python
python3多线程知识点总结
2019/09/26 Python
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
岗位职责的构建方法
2014/02/01 职场文书
党支部公开承诺践诺书
2014/03/28 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2014年小学班主任工作总结
2014/11/08 职场文书
三下乡个人总结
2015/03/04 职场文书
银行优秀员工推荐信
2015/03/24 职场文书
甲午大海战观后感
2015/06/02 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书