jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码


Posted in Javascript onJanuary 23, 2013

html 文件
gundong-0.1.html

<!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>多行滚动jQuery循环新闻列表代码</title> 
<style type="text/css"> 
ul,li{margin:0;padding:0} 
img{border:0px;} 
a{text-decoration:none;border:0px;} 
/* 横向滚动 */ 
#scrollDiv2{border:#ccc 1px solid;} 
#scrollDiv3{border:#ccc 1px solid;} 
</style> 
<script src="../jquery-1.8.0.min.js" type="text/javascript"></script> 
<script src="wordscroll-0.1.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ $.wordScroll({ 
objId:"scrollDiv2" 
}); 
$.wordScroll({ 
objId:"scrollDiv3", 
isHorizontal:true 
}); 
}); 
</script> 
</head> 
<body> 
<div id="scrollDiv2"> 
<ul> 
<li>这是公告标题的第一行</li> 
<li>这是公告标题的第二行</li> 
<li>这是公告标题的第三行</li> 
<li>这是公告标题的第四行</li> 
<li>这是公告标题的第五行</li> 
<li>这是公告标题的第六行</li> 
<li>这是公告标题的第七行</li> 
<li>这是公告标题的第八行</li> 
<li>这是公告标题的第九行</li> 
</ul> 
</div> 
<div id="scrollDiv3"> 
<ul> 
<li>这是公告标题的第一行</li> 
<li>这是公告标题的第二行</li> 
<li>这是公告标题的第三行</li> 
<li>这是公告标题的第四行</li> 
<li>这是公告标题的第五行</li> 
<li>这是公告标题的第六行</li> 
<li>这是公告标题的第七行</li> 
<li>这是公告标题的第八行</li> 
<li>这是公告标题的第九行</li> 
</ul> 
</div> 
</body> 
</html>

js文件
wordscroll-0.1.js

<P>/** 
* 多行文字滚动,可以实现向左和向上两种滚动 
* 
**/ 
$.extend({ 
wordScroll:function(opt,callback){ 
//alert("suc"); 
this.defaults = { 
objId:"", 
width:300, // 每行的宽度 
height:100, // div的高度 
liHeight:25, // 每行高度 
lines:2, // 每次滚动的行数 
speed:1000, // 动作时间 
interval:2000, // 滚动间隔 
picTimer:0, // 间隔句柄,不需要设置,只是作为标识使用 
isHorizontal:false // 是否横向滚动 
} 
//参数初始化 
var opts = $.extend(this.defaults,opt); 
// 纵向横向通用 
$("#"+opts.objId).css({ 
width:opts.width, 
height:opts.height, 
"min-height":opts.liHeight, 
"line-height":opts.liHeight+"px", 
overflow:"hidden" 
}); 
$("#"+opts.objId+" li").css({ 
height:opts.liHeight 
}); 
if(opts.lines==0) 
opts.lines=1; 
// 横向滚动 
if(opts.isHorizontal){ 
$("#"+opts.objId).css({ 
width:opts.width*opts.lines + "px" 
}); 
$("#"+opts.objId+" li").css({ 
"display":"block", 
"float":"left", 
"width":opts.width + "px" 
}); 
$("#"+opts.objId+" ul").css({ 
width:$("#"+opts.objId).find("li").size()*opts.width + "px" 
});</P><P> // 横向使用,不够一屏则不滚动 
if($("#"+opts.objId).find("li").size()<=opts.lines) 
return; 
var scrollWidth = 0 - opts.lines*opts.width; 
}else{ 
//如果不够一屏内容 则不滚动 
if($("#"+opts.objId).find("li").size()<=parseInt($("#"+opts.objId).height()/opts.liHeight,10)) 
return; 
var upHeight=0-opts.lines*opts.liHeight; 
} 
// 横向滚动 
function scrollLeft(){ 
$("#"+opts.objId).find("ul:first").animate({ 
marginLeft:scrollWidth 
},opts.speed,function(){ 
for(i=1;i<=opts.lines;i++){ 
$("#"+opts.objId).find("li:first").appendTo($("#"+opts.objId).find("ul:first")); 
} 
$("#"+opts.objId).find("ul:first").css({marginLeft:0}); 
}); 
}; 
// 纵向滚动 
function scrollUp(){ 
$("#"+opts.objId).find("ul:first").animate({ 
marginTop:upHeight 
},opts.speed,function(){ 
for(i=1;i<=opts.lines;i++){ 
$("#"+opts.objId).find("li:first").appendTo($("#"+opts.objId).find("ul:first")); 
} 
$("#"+opts.objId).find("ul:first").css({marginTop:0}); 
}); 
}; 
//鼠标滑上焦点图时停止自动播放,滑出时开始自动播放 
$("#"+opts.objId).hover(function() { 
clearInterval(opts.picTimer); 
},function() { 
opts.picTimer = setInterval(function() { 
// 判断执行横向或纵向滚动 
if(opts.isHorizontal) 
scrollLeft(); 
else 
scrollUp(); 
},opts.interval); // 自动播放的间隔,单位:毫秒 
}).trigger("mouseleave"); 
} 
}) 
</P>
Javascript 相关文章推荐
JavaScript XML实现两级级联下拉列表
Nov 10 Javascript
IE与firefox下Dhtml的一些区别小结
Dec 02 Javascript
基于jQuery替换table中的内容并显示进度条的代码
Aug 02 Javascript
js移除事件 js绑定事件实例应用
Nov 28 Javascript
使用js+jquery实现无限极联动
May 23 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
May 27 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
Dec 26 Javascript
javascript实现des解密加密全过程
Apr 03 Javascript
javascript实现的元素拖动函数宿主为浏览器
Jul 21 Javascript
jQuery实现点击小图显示大图代码分享
Aug 25 Javascript
基于node.js实现微信支付退款功能
Dec 19 Javascript
JavaScript获取时区实现过程解析
Sep 24 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
Jan 23 #Javascript
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
Jan 23 #Javascript
解决jquery submit()提交表单提示:f[s] is not a function
Jan 23 #Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
Jan 23 #Javascript
重构Javascript代码示例(重构前后对比)
Jan 23 #Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
Jan 22 #Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
Jan 22 #Javascript
You might like
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
PHP文件缓存类示例分享
2015/01/30 PHP
Smarty分页实现方法完整实例
2016/05/11 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
2017/06/29 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
用js实现计算代码行数的简单方法附代码
2007/08/13 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
JS实现关闭当前页而不弹出提示框的方法
2016/06/22 Javascript
jQuery实现模拟flash头像裁切上传功能示例
2016/12/11 Javascript
Angular2库初探
2017/03/01 Javascript
jQuery tip提示插件(实例分享)
2017/04/28 jQuery
详解vue.js之props传递参数
2017/12/12 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
2019/05/16 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
vue 图片裁剪上传组件的实现
2020/11/12 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
2019/08/09 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
没编程基础可以学python吗
2020/06/17 Python
python绘图模块之利用turtle画图
2021/02/12 Python
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
什么是数据抽象
2016/11/26 面试题
人力资源经理的岗位职责范本
2014/02/28 职场文书
三八节标语
2014/06/27 职场文书
门卫岗位职责说明书
2014/08/18 职场文书
关于青春的演讲稿三分钟
2014/08/22 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
车辆年检委托书范本
2014/10/14 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
2015年党务工作者个人工作总结
2015/10/22 职场文书
心得体会格式及范文
2016/01/25 职场文书
python 模拟在天空中放风筝的示例代码
2021/04/21 Python
python 网络编程要点总结
2021/06/18 Python
JavaScript实现优先级队列
2021/12/06 Javascript
html,css,javascript是怎样变成页面的
2023/05/07 HTML / CSS