jQuery无缝滚动插件
插件代码
;(function ($) {
// jQuery marquee 插件
$.fn.marquee = function (options) {
// 默认设置
var defaults = {
derection: "top",
interval: 50
};
// 合并后的参数设置
var options = $.extend(defaults, options);
var $mar = $(this),
original = $mar.children().first(),
clone = original.clone(),
height = original.height(),
width = original.width(),
i = 0,
tId = null; // 唯一的tId,可以通过clearTimeout(tId)清除干净
// append clone to marquee
$mar.append(clone);
// scrolltop
var scrolltop = function () {
if (i < height) {
$mar.scrollTop(i++);
} else {
i = 0;
$mar.scrollTop(0);
}
tId = setTimeout(scrolltop, options.interval);
};
// scrollbottom
var scrollbottom = function () {
if (i === 0) {
i = height;
$mar.scrollTop(i);
} else {
$mar.scrollTop(i--);
}
tId = setTimeout(scrollbottom, options.interval);
};
// scrollleft
var scrollleft = function () {
if (i < width) {
$mar.scrollLeft(i++)
} else {
i = 0;
$mar.scrollLeft(0);
}
tId = setTimeout(scrollleft, options.interval);
};
// scrollright
var scrollright = function () {
if (i === 0) {
$mar.scrollLeft(width);
i = width;
} else {
$mar.scrollLeft(i--);
}
tId = setTimeout(scrollright, options.interval);
};
// scroll to which derection
var scrollto = {
top: scrolltop,
bottom: scrollbottom,
left: scrollleft,
right: scrollright
};
// 根据参数选择滚动函数
tId = setTimeout(scrollto[options.derection], options.interval);
// when mouse hover clearTimeout or setTimeout
$mar.hover(function () {
clearTimeout(tId);
}, function () {
tId = setTimeout(scrollto[options.derection], options.interval);
});
};
})(jQuery);
示例一:上滚动(默认)
<!-- html code -->
<div class="marquee">
<ul>
<li>滚动吧少年</li>
<li>滚动吧少年</li>
<li>滚动吧少年</li>
<li>滚动吧少年</li>
<li>滚动吧少年</li>
<li>滚动吧少年</li>
<li>滚动吧少年</li>
</ul>
</div>
/* css code */
.marquee{
border:1px solid #0a0;
width:300px;
height:100px;
overflow:hidden;
}
.marquee li{
font-size:16px;
line-height:1.5;
}
// js code:插件应用
$(".marquee").marquee();
示例二:左滚动
<!-- html code -->
<div class="marquee2">
<ul>
<li>滚动吧少年</li>
<li>滚动吧少年</li>
<li>滚动吧少年</li>
<li>滚动吧少年</li>
<li>滚动吧少年</li>
<li>滚动吧少年</li>
<li>滚动吧少年</li>
</ul>
</div>
/* css code */
.marquee2{
width:300px;
height:25px;
border:1px solid #00a;
overflow:hidden;
white-space: nowrap; /* 文字超出时不换行!! */
}
.marquee2 ul, .marquee2 li{
display:inline;
font-size:16px;
line-height:25px;
}
// js code:插件应用
$(".marquee2").marquee({derection: "left", interval: 25});
jQuery无缝滚动插件的更多相关文章
- liMarquee – jQuery无缝滚动插件(制作跑马灯效果)
liMarquee 是一款基于 jQuery 的无缝滚动插件,类似于 HTML 的 marquee 标签,但比 marquee 更强大.它可以应用于任何 Web 元素,包括文字.图像.表格.表单等元素 ...
- 利用jQuery无缝滚动插件liMarquee实现图片(链接)和文字(链接)向右无缝滚动(兼容ie7+)
像新闻类的版块经常要求一条条的新闻滚动出现,要实现这种效果,可以使用jQuery无缝滚动插件liMarquee. 注意: 1. 它的兼容性是IE7+,及现代浏览器. 2. 引用的jquery的版本最好 ...
- 【精心推荐】12款很好用的 jQuery 图片滚动插件
这里收集了12款很好用的 jQuery 图片滚动插件分享给大家.jQuery 作为最流行的 JavaScript 框架,使用简单灵活,同时还有许多优秀的插件可供使用.其中最令人印象深刻的应用之一就是各 ...
- Flexslider - 响应式的 jQuery 内容滚动插件
FlexSlider 是一款轻量的响应式 jQuery 内容滚动插件,能够帮助你在项目轻松的创建漂亮的内容滚动效果.这款插件曾经连续多年入选 WDL 的年度最佳 jQuery 插件,值得大家在网站开发 ...
- 10款很好用的 jQuery 图片滚动插件
jQuery 作为最流行的 JavaScript 框架,使用简单灵活,同时还有许多优秀的插件可供使用.其中最令人印象深刻的应用之一就是各种很酷的图片效果,它可以让的网站更具吸引力.这里收集了10款很好 ...
- 手写JS无缝滚动插件
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- (转)15个非常棒的jQuery无限滚动插件【瀑布流效果】
原文地址:http://www.cnblogs.com/lyw0301/archive/2013/06/19/3145084.html 现在,最热门的网站分页趋势之一是jQuery的无限滚动(也即瀑布 ...
- 15个非常棒的jQuery无限滚动插件【瀑布流效果】
现在,最热门的网站分页趋势之一是jQuery的无限滚动(也即瀑布流).如果你碰巧观察Pinterest的网站,如Facebook,Twitter和deviantART的,你会发现无限滚动的动作,当旧的 ...
- 一款经典的jQuery kxbdMarquee 无缝滚动插件
<marquee> 曾是 IE 下独有的一个走马灯效果的标签,其他浏览器并不兼容,于是出现了使用 JavaScript 来模拟该效果的插件. 版本: jQuery v1.3.2+ 在线实例 ...
随机推荐
- MySQL(二)
一.外键 外键是设置当前表中的某一列与别一数据表中的主键列关联.主要目的是控制与外键表中的数据,保持数据一致性,完整性,也就是说:当前表中这一列的数据必须是关联外键列中的某一数据,而且相关联的两个数据 ...
- 多线程查询FTP Server上的文件
情形是这样的,最近做一个自动化的项目,当batch跑成功了,FTP Server上会有特定的生成文件.但是不确定是什么时候会有,大概是batch跑完了5分钟之内吧,所以在脚本里设置检查点的时候,需要每 ...
- 统计Crash工具—Crashlytics
官网:https://www.crashlytics.com/login 步骤: 注意:有时候再次运行,或者换了Crashlytics账号之后,获取不到Crash信息,其实你需要把plist文件里的K ...
- NSString用法
1 创造字符串 NSString *str1 = @"hello"; NSString *str2 = [NSString string]; NSString *str3 = [N ...
- 解决在 MVC 局部视图中加载 ueditor 编辑器时, 编辑器加载不出的 bug
在 MVC 局部视图中,有时我们需要 加载 ueditor 编辑器,或进行局部刷新, 但是在加载局部视图后,ueditor 编辑器加载不出,这是由于 ueditor 使用的缓存,只要清空缓存,重新实例 ...
- iOS 根据字符串来定位地址
- (void)viewDidLoad { [super viewDidLoad]; self.geocoder = [[CLGeocoder alloc]init]; // 设置地图可缩放 self ...
- 【MySQL】MySQL无基础学习和入门之一:数据库基础概述和实验环境搭建
数据库基础概述 大部分互联网公司都选择MySQL作为业务数据存储数据库,除了MySQL目前还有很多公司使用Oracle(甲骨文).SQLserver(微软).MongoDB等. 从使用成本来区分可以 ...
- Known plaintext attack
When you find a ZIP/RAR file with password protected in the evidence, you may try dictionary attack ...
- 智能手机取证利器再进化-UFED Cloud Analyzer
智能手机在现代人生活中,和钱包,钥匙一样,成了不可或缺的生活必需品,举凡食衣住行育乐都需要携带随身使用,因此,智能手机里所存放的,就是一个人的生活缩影,只是人们多半不自知智能手机竟是如此贴心的为你/妳 ...
- JavaScript探秘系列
此文章所在专题列表如下: 我们应该如何去了解JavaScript引擎的工作原理 JavaScript探秘:编写可维护的代码的重要性 JavaScript探秘:谨慎使用全局变量 JavaScript探秘 ...