jQuery.textSlider.js

;(function($) {
$.fn.textSlider = function(settings) {
settings = jQuery.extend({
speed: "normal",
line: 2,
timer: 1000
}, settings); return this.each(function() {
$.fn.textSlider.scllor($(this), settings);
});
}; $.fn.textSlider.scllor = function($this, settings) {
var ul = $("ul:eq(0)", $this);
var timerID;
var li = ul.children();
var _btnUp = $(".up:eq(0)", $this);
var _btnDown = $(".down:eq(0)", $this);
var liHight = $(li[0]).height();
var upHeight = 0 - settings.line * liHight; var scrollUp = function() {
_btnUp.unbind("click", scrollUp);
ul.animate({marginTop: upHeight}, settings.speed, function() {
for (i = 0; i < settings.line; i++) {
ul.find("li:first").appendTo(ul);
}
ul.css({marginTop: 0});
_btnUp.bind("click", scrollUp);
});
}; var scrollDown = function() {
_btnDown.unbind("click", scrollDown);
ul.css({marginTop: upHeight});
for (i = 0; i < settings.line; i++) {
ul.find("li:last").prependTo(ul);
}
ul.animate({marginTop: 0}, settings.speed, function() {
_btnDown.bind("click", scrollDown);
});
}; var autoPlay = function() {
timerID = window.setInterval(scrollUp, settings.timer);
}; var autoStop = function() {
window.clearInterval(timerID);
}; ul.hover(autoStop, autoPlay).mouseout();
_btnUp.css("cursor", "pointer").click(scrollUp);
_btnUp.hover(autoStop, autoPlay);
_btnDown.css("cursor","pointer").click(scrollDown);
_btnDown.hover(autoStop, autoPlay);
};
})(jQuery);

demo.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
*{margin:0;padding:0;}
.scrollText{width:300px;height:100px;overflow:hidden;border:#ccc 1px solid;line-height:25px;}
.up{width:50px;height:50px;background:#f90;cursor:pointer;}
.down{width:50px;height:50px;background:#960;cursor:pointer;}
</style>
<script src="jquery-1.5.2.min.js"></script>
<script src="jQuery.textSlider.js"></script>
</head>
<body>
<p>一行滚动演示:</p>
<div id="scrollDiv">
<div class="scrollText">
<ul>
<li>这是公告标题的第一行</li>
<li>这是公告标题的第二行</li>
<li>这是公告标题的第三行</li>
<li>这是公告标题的第四行</li>
<li>这是公告标题的第五行</li>
<li>这是公告标题的第六行</li>
<li>这是公告标题的第七行</li>
<li>这是公告标题的第八行</li>
<li>这是公告标题的第9行</li>
<li>这是公告标题的第10行</li>
<li>这是公告标题的第11行</li>
<li>这是公告标题的第12行</li>
</ul>
</div>
<div class="up">up</div>
<div class="down">down</div>
</div>
<p>多行滚动演示:</p>
<div id="scrollDiv2">
<div class="scrollText">
<ul>
<li>这是公告标题的第一行</li>
<li>这是公告标题的第二行</li>
<li>这是公告标题的第三行</li>
<li>这是公告标题的第四行</li>
<li>这是公告标题的第五行</li>
<li>这是公告标题的第六行</li>
<li>这是公告标题的第七行</li>
<li>这是公告标题的第八行</li>
<li>这是公告标题的第9行</li>
<li>这是公告标题的第10行</li>
<li>这是公告标题的第11行</li>
<li>这是公告标题的第12行</li>
</ul>
</div>
<div class="up">up</div>
<div class="down">down</div>
</div>
<script>
$(document).ready(function() {
$("#scrollDiv").textSlider({line: 1, speed: 500, timer: 3000});
$("#scrollDiv2").textSlider({line: 2, speed: 500, timer: 3000});
});
</script>
</body>
</html>

-_-#【jQuery插件】textSlider 文本滚动的更多相关文章

  1. 自己编写jQuery插件 之 无缝滚动

    一. 效果图 二. Html骨架结构 <div class="box"> <ul> <li>1</li> <li>2&l ...

  2. jQuery高性能自己定义滚动栏美化插件

    malihu是一款高性能的滚动栏美化jQuery插件. 该滚动栏美化插件支持水平和垂直滚动栏,支持鼠标滚动,支持键盘滚动和支持移动触摸屏. 而且它能够和jQuery UI和Bootatrap完美的结合 ...

  3. 推荐60个jQuery插件(转)

    jQuery插件jQuery Spin Button自定义文本框数值自增或自减 jQuery插件JQuery Pager分页器实现javascript分页功能 jQuery插件FontSizer实现J ...

  4. 推荐20款基于 jQuery & CSS 的文本效果插件

    jQuery 和 CSS 可以说是设计和开发行业的一次革命.这一切如此简单,快捷的一站式服务.jQuery 允许你在你的网页中添加一些真正令人惊叹的东西而不用付出很大的努力,要感谢那些优秀的 jQue ...

  5. 全屏滚动-jQuery插件实现

    全屏滚动 <---很久没写了,这段忙了点,以后还是每周尽量写点东西---> 在很多情况下,我们需要页面的全屏滚动,尤其是移动端.今天简要的介绍一下全屏滚动的知识. 一.全屏滚动的原理 1. ...

  6. Javascript和jQuery WordPress 图片轮播插件, 内容滚动插件,前后切换幻灯片形式显示

    用于在有限的网页空间内展示一组产品图片或者照片,同时还有非常吸引人的动画效果.本文向大家推荐12款实用的 jQuery 图片轮播效果插件,帮助你在你的项目中加入一些效果精美的图片轮播效果,希望这些插件 ...

  7. 基于jquery的锚点滚动插件(百度百科效果) anchorScroll.js

    1.插进使用场景 请打开https://baike.baidu.com/item/%E6%97%A5%E6%9C%AC%E5%8A%A8%E7%94%BB#hotspotmining,查看百度百科页面 ...

  8. FullPage.js-基于 jQuery 的插件全屏滚动插件

    fullPage.js 是一个基于 jQuery 的插件,它能够很方便.很轻松的制作出全屏网站.如今我们经常能见到全屏网站,尤其是国外网站.这些网站用几幅很大的图片或色块做背景,再添加一些简单的内容, ...

  9. 推荐一个内容滚动jquery插件

    myslider是一个内容滚动jquery插件,版本0.1.2的每次滚动内容是一行内容,可以是文字,可以是一个链接,还可以是图片. 官方网址:http://keleyi.com/jq/myslider ...

随机推荐

  1. Servlet 过滤器

    一.过滤器介绍 在Servlet 2.3中定义了过滤器,它能够对Servlet容器的请求和响应进行检查和修改. Servlet过滤器能够在Servlet被调用之前检查Request对象,并修改Requ ...

  2. 开始android博客分享

    现在开始写博客,分享android开发中的心得.

  3. Microsoft Windows Server 2008 R2 IIS7.5安装指南

    一.IIS安装步骤: 1.安装Windows Server 2008 R2(见 附录一) 2.配置计算机名称和IP地址(见 附录一) 3.配置成员服务器(见 附录一) 4.点击任务栏上的“服务器管理器 ...

  4. teamview centos 配置

    1.下载teamview centos版本,本人喜欢tar.gz版本,但是官网只有rpm版本,附件中即为官网下载的teamview11 官方下载地址:https://www.teamviewer.co ...

  5. Html5新增的语义化标签(部分)

    2014年10月29日,万维网联盟宣布,经过接近8年的艰苦努力,html5的标准规范终于制定完成.这是互联网的一次重大变革,这也许是一个时代的来临! 总结一些h5新增的语义化标签,记录下来方便自己学习 ...

  6. HTML5 FileReader读取Blob对象API详解

    使用FileReader对象,web应用程序可以异步的读取存储在用户计算机上的文件(或者原始数据缓冲)内容,可以使用File对象或者Blob对象来指定所要读取的文件或数据.其中File对象可以是来自用 ...

  7. SQL Server 2012 LocalDB 管理之旅

    SQL Server LocalDB能够最大限度地节省您的数据库管理精力,以便开发人员可以专注于开发数据库应用. 使用SqlLocalDB命令行管理LocalDB 为了方便管理,LocalDB提供了一 ...

  8. apk文件解析,学习笔记

    Android 应用程序包文件 (APK) 是一种Android操作系统上的应用程序安装文件格式,其英文全称为 “application package file” . 如果懂得使用反编译工具,可以下 ...

  9. Oracle分区表学习

    (1) 表空间及分区表的概念表空间: 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间.分区表: 当表中的数据量不断增大,查询数据的速度就会变慢,应 ...

  10. 简单讲解iOS应用开发中的MD5加密的相关使用<转>

    这篇文章主要介绍了iOS应用开发中的MD5加密的相关使用,示例代码基于传统的Objective-C,需要的朋友可以参考下 一.简单说明 1.说明 在开发应用的时候,数据的安全性至关重要,而仅仅用POS ...