基于jquery的无缝循环新闻列表插件


Posted in Javascript onMarch 07, 2011

一、效果图:
基于jquery的无缝循环新闻列表插件
tips源码下载 http://xiazai.3water.com/201103/yuanma/jquerynewslist.rar
二、jquery源码:

(function($){ 
$.fn.extend({ 
newsList:function(options){ 
var defaults ={ 
actName:'li', //显示条数名; 
maxShowNum:'6', //最多的显示条数; 
actNameH:'28', //一次移动的距离; 
ulClass:'.ul_news_list', //被复制层的class 
copyUlClass:'.ul_news_list2', //复制层的class 
autoTime:'1500', //自动运行时间; 
clickGoUpC:'.go_uplist', //点击向上class; 
clickDownUpC:'.go_downlist', //点击向下class; 
goStart:'go_tart', 
autoCloss:'flase' //自动运行开关,当为'flase'时为开,其它则关; 
} ; options = $.extend(defaults, options); 
return this.each(function(){ 
var o = options; 
var counts =1; 
var linum = $($(this).find(o.actName),$(this)).size(); 
var ul_class = $($(this).find(o.ulClass),$(this)); 
var copy_ul_class = $($(this).find(o.copyUlClass),$(this)); 
var click_go_up_c = $($(this).find(o.clickGoUpC),$(this)); 
var click_go_down_C = $($(this).find(o.clickDownUpC),$(this)); 
var go_start = $($(this).find(o.goStart),$(this)); 
if(linum > o.maxShowNum){ 
$(copy_ul_class).html($(ul_class).html()); 
goStartList(); 
} 
var thiswrap = $($(ul_class).parent().parent(),$(this)); 
//自动运行函数 
function auto_function(){ 
if(counts <= linum){ 
$(ul_class).animate({top:'-=' + o.actNameH},o.autoTime); 
$(copy_ul_class).animate({top:'-=' + o.actNameH},o.autoTime); 
counts++; 
}else{ 
$(ul_class).animate({top:0},0); 
$(copy_ul_class).animate({top:0},0); 
counts = 1; 
} 
} 
//点击向上移动时; 
if(linum > o.maxShowNum){ 
$(click_go_up_c).click(function(){ 
if(counts <= linum){ 
$(ul_class).animate({top:'-=' + o.actNameH},0); 
$(copy_ul_class).animate({top:'-=' + o.actNameH},0); 
counts++; 
}else{ 
$(ul_class).animate({top:0},0); 
$(copy_ul_class).animate({top:0},0); 
counts = 1; 
} 
}); 
} 
//点击向下移动时; 
if(linum > o.maxShowNum){ 
$(click_go_down_C).click(function(){ 
if(counts > 1){ 
counts--; 
$(ul_class).animate({top:'-'+ counts*o.actNameH},0); 
$(copy_ul_class).animate({top:'-'+ counts*o.actNameH},0); 
}else{ 
$(ul_class).animate({top:0},0); 
$(copy_ul_class).animate({top:0},0); 
counts = linum+1; 
} 
}); 
} 
//鼠标经过所发生的开始停止; 
if(linum > o.maxShowNum){ 
$(thiswrap).hover(function(){ 
goStopList(); 
},function(){ 
goStartList(); 
}); 
} 
function goStartList(){ 
if(o.autoCloss === 'flase'){ 
go_start = setInterval(auto_function,o.autoTime); 
} 
} 
function goStopList(){ 
clearInterval(go_start); 
} 
}); 
} 
}); 
}(jQuery));

三、HTML:
<script language="javascript"> 
$(document).ready(function(){ 
$("#newslist").newsList(); 
}); 
</script> <div id="newslist"> 
<div class="go_upanddown"><span class="go_uplist"><img src="images/newslist/goupbtn.gif" /></span><span class="go_downlist"><img src="images/newslist/godownbtn.gif" /></span></div> 
<div class="news_list_bar"> 
<ul class="ul_news_list"> 
<li><a href="#">1、曾参加过唐山、汶川、玉树地震救援的援</a><a href="#">曾参加过唐,又来到了舟曲参加救援</a></li> 
<li><a href="#">2、摩洛哥塞拉,艺术家在一场为流浪儿童为流浪儿童为流浪儿童为流浪儿童募捐的马戏节目中表演</a></li> 
<li><a href="#">3、昆明警方近日县的“洪兴甸县的“洪兴甸县的“洪兴甸县的“洪兴帮”黑恶势力团伙,缴获...</a></li> 
<li><a href="#">4、印度克什知自己的孩子在骚乱中丧生时痛不欲生..</a><a href="#">曾参加过唐曾参加过唐到了舟曲参加救援</a></li> 
<li><a href="#">5、明昆明警方近日捣毁了寻甸县的“洪兴帮”黑恶势力团伙,缴获...</a></li> 
<li><a href="#">6、曾参加过唐曾参加过唐曾参加过唐曾参加过唐</a></li> 
<li><a href="#">7、湖北武汉汉口汉口曾参加过唐曾参加过唐曾参加过唐曾参加过唐观看两江洪峰过</a></li> 
<li><a href="#">8、湖北武汉汉曾参加过唐曾参加过唐曾参加过唐曾参加过唐集在江边观</a></li> 
<li><a href="#">9、湖北武汉汉口汉口龙王庙景区观景平台上,市民聚集在江边观看两江洪峰过汉</a></li> 
</ul> 
<ul class="ul_news_list2"></ul> 
</div> 
</div>

四、CSS:
body { font-family:"微软雅黑",Arial,"Lucida Grande", Verdana, Lucida; font-size:12px; } 
*{ padding:0; margin:0;} 
img { border:0;} 
.clear { clear:both;} 
a { color:#000; text-decoration:none;} 
a:hover { color:#EC6104; text-decoration:none;} 
.undis { display:none;}/*news_list*/ 
.news_list_bar { position:relative; width:560px; height:168px; overflow:hidden; background:url(../images/slideshow2/v3_picture6.gif) repeat-y; background-color:#F00;} 
.ul_news_list, 
.ul_news_list2{ position:relative; list-style:none;} 
.ul_news_list li, 
.ul_news_list2 li{line-height:28px; height:28px; width:500px; overflow:hidden; white-space:nowrap;padding:0 20px;} 
.ul_news_list li a, 
.ul_news_list2 li a{ padding-right:20px;} 
.go_upanddown { position:absolute; margin:-20px 0 0 500px;} 
.go_upanddown span { padding-right:10px; cursor:pointer;}
Javascript 相关文章推荐
jquery对dom的操作常用方法整理
Jun 25 Javascript
JS正则验证邮箱的格式详细介绍
Nov 19 Javascript
从零学jquery之如何使用回调函数
May 16 Javascript
javascript 控制input只允许输入的各种指定内容
Jun 19 Javascript
node.js中的buffer.length方法使用说明
Dec 14 Javascript
JQuery radio(单选按钮)操作方法汇总
Apr 15 Javascript
jQuery实现优雅的弹窗效果(6)
Feb 08 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
May 13 jQuery
Vue实现的父组件向子组件传值功能示例
Jan 19 Javascript
微信小程序学习笔记之本地数据缓存功能详解
Mar 29 Javascript
如何解决js函数防抖、节流出现的问题
Jun 17 Javascript
JS工厂模式开发实践案例分析
Oct 17 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
Mar 07 #Javascript
jQuery总体架构的理解分析
Mar 07 #Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
Mar 06 #Javascript
js中将具有数字属性名的对象转换为数组
Mar 06 #Javascript
js 优化次数过多的循环 考虑到性能问题
Mar 05 #Javascript
淘宝搜索框效果实现分析
Mar 05 #Javascript
再论Javascript下字符串连接的性能
Mar 05 #Javascript
You might like
星际中一些鲜为人知的详细资料
2020/03/04 星际争霸
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
基于jquery打造的百分比动态色彩条插件
2012/09/19 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
2017/01/21 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
bootstrap Table服务端处理分页(后台是.net)
2017/10/19 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
vue项目中使用百度地图的方法
2018/06/08 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
[01:19:46]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第一场 2月28日
2021/03/11 DOTA
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
Python中IP地址处理IPy模块的方法
2019/08/16 Python
Django将默认的SQLite更换为MySQL的实现
2019/11/18 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
Python异常处理机制结构实例解析
2020/07/23 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
使用HTML5 Canvas API中的clip()方法裁剪区域图像
2016/03/25 HTML / CSS
Java面试中常遇到的问题,也是需要注意的几点
2013/08/30 面试题
英语商务邀请函范文
2014/01/16 职场文书
个人求职信范文分享
2014/01/31 职场文书
社会发展项目建议书
2014/08/25 职场文书
民主生活会对照检查材料(统计局)
2014/09/21 职场文书
幼儿教师师德师风自我评价
2015/03/05 职场文书
人事行政主管岗位职责
2015/04/09 职场文书
鸡毛信观后感
2015/06/11 职场文书
企业年会祝酒词
2015/08/11 职场文书
2015元旦感言
2015/12/09 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL
Redis过期数据是否会被立马删除
2022/07/23 Redis