这几天公司产品有个无缝循环滚动的广告跑马灯要做,最开始想到的是<marquee>标签,但在PC端正常,在安卓广告屏上却怎么都跑不动,后来用的css3的animation,结果也是PC端及其他一些手机正常,但一到安卓广告屏上就跑不动了;后来领导找了个jQuery插件,经测试,完美运行。

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>滚动文字jquery插件</title>
/**
* author ormin
* http://www.cnblogs.com/kangaoxiaoshi/p/5431870.html
* http://www.cnblogs.com/yexiaochai/p/3759959.html
* http://www.cnblogs.com/axl234/p/5780432.html
*/
<script src="http://libs.baidu.com/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript">
(function($) {
$.fn.extend({
roll: function(options) {
var defaults = {
speed:1
};
var options = $.extend(defaults, options);
var speed=(document.all) ? options.speed : Math.max(1,options.speed-1);
if ($(this) == null) return ;
var $container = $(this);
var $content = $("#content");
var init_left = $container.width();
$content.css({left:parseInt(init_left) + "px"});
var This = this;
var time = setInterval(function(){This.move($container,$content,speed);},20); //setInterval会改变this指向,即使加了This=this,也要用匿名函数封装,这里调试了n久 $container.bind("mouseover",function()
{
clearInterval(time);
});
$container.bind("mouseout",function()
{
time = setInterval(function(){This.move($container,$content,speed);},20);
}); return this;
},
move:function($container,$content,speed){
var container_width = $container.width();
var content_width = $content.width();
if (parseInt($content.css("left")) + content_width > 0)
{
$content.css({left:parseInt($content.css("left")) - speed + "px"});
}
else
{
$content.css({left:parseInt(container_width) + "px"});
}
}
});
})(jQuery);
//插件的调用$("#yourId").roll({speed:#yourSpeed});
$(document).ready(
function(){
$("#container").roll({speed:8});
}
);
</script>
<style type="text/css">
#container{
background:#CCCCCC;
position:relative;
overflow:hidden; /*这个东西折腾了很久才弄出来*/
width:550px;
height:80px;
line-height:80px;
margin:100px;
} #content{
position:absolute;
left:0;
top:0;
white-space:nowrap; /*重要,不然文字显示效果不好*/
}
</style> </head> <body>
<div id="container">
<div id="content" style="color:red;font-size:80px;">This is a roll word test,created by Baidu FE.</div>
</div>
</body>
</html>

  jQuery部分(使用时先引用jQuery插件)

(function($) {
$.fn.extend({
roll: function(options) {
var defaults = {
speed:1
};
var options = $.extend(defaults, options);
var speed=(document.all) ? options.speed : Math.max(1,options.speed-1);
if ($(this) == null) return ;
var $container = $(this);
var $content = $("#content");
var init_left = $container.width();
$content.css({left:parseInt(init_left) + "px"});
var This = this;
var time = setInterval(function(){This.move($container,$content,speed);},20); //setInterval会改变this指向,即使加了This=this,也要用匿名函数封装,这里调试了n久 $container.bind("mouseover",function()
{
clearInterval(time);
});
$container.bind("mouseout",function()
{
time = setInterval(function(){This.move($container,$content,speed);},20);
}); return this;
},
move:function($container,$content,speed){
var container_width = $container.width();
var content_width = $content.width();
if (parseInt($content.css("left")) + content_width > 0)
{
$content.css({left:parseInt($content.css("left")) - speed + "px"});
}
else
{
$content.css({left:parseInt(container_width) + "px"});
}
}
});
})(jQuery);

  

jq跑马灯效果的更多相关文章

  1. TextView跑马灯效果

    转载:http://www.2cto.com/kf/201409/330658.html 一.只想让TextView显示一行,但是文字超过TextView的长度怎么办?在开头显示省略号 android ...

  2. Android_TextView之跑马灯效果

    对于android控件中的TextView,相信大家一定不陌生,在显示文本内容时十分方便.不过我在使用时遇到一个小问题,就是当文字交多时,如何为用户进行展示.今天就为大家介绍一种解决方案--跑马灯效果 ...

  3. android中实现跑马灯效果以及AutoCompleteTestView与MultiAutoCompleteTextView的学习

    跑马灯效果 1.用过属性的方式实现跑马灯效果 属性:                  android:singleLine="true" 这个属性是设置TextView文本中文字 ...

  4. Android 实现多行文本跑马灯效果

    Android TextView 实现跑马灯的效果很简单,只要加三个属性就可以了. android:ellipsize="marquee" android:focusable=&q ...

  5. android:ellipsize实现跑马灯效果总结(转)

      最近无意间看到了涉及到跑马灯效果的代码,于是在网上查阅了很多资料,在这里对自己看的一些文章进行一下总结,顺便加上自己的一些体会. 让我们一步步逐渐向下. 首先我们要实现走马灯这样一个效果,通常来说 ...

  6. flex 简单跑马灯效果(竖着显示)

    <mx:Move id="move_area" target="{VBox_AreaWarning}"/> //move效果,模拟跑马灯 <s ...

  7. Dom操作--跑马灯效果

    这里给园友们演示的是Dom操作实现跑马灯效果,相信我们很多人都用Winform实现过跑马灯效果,其中的关键就是Tirm控件,那么在Dom操作中是用setInterval方法来实现隔一段时间执行一段代码 ...

  8. [Android1.5]TextView跑马灯效果

    from: http://www.cnblogs.com/over140/archive/2010/08/20/1804770.html 前言 这个效果在两周前搜索过,网上倒是有转载,可恨的是转载之后 ...

  9. Android学习总结——TextView跑马灯效果

    Android系统中TextView实现跑马灯效果,必须具备以下几个条件: 1.android:ellipsize="marquee" 2.TextView必须单行显示,即内容必须 ...

随机推荐

  1. 如何创建Vim Dotfile?

    Dotfile是电脑系统里的隐藏文件,它是专门给更高级的用户,如开发者.程序员或工程师使用的,让他们用来调整系统.如何创建Vim-Dotfile? 可以参考以下步骤: 1. 首先,你要检查一下.vim ...

  2. 【原】实时渲染中常用的几种Rendering Path

    [原]实时渲染中常用的几种Rendering Path 本文转载请注明出处 —— polobymulberry-博客园 本文为我的图形学大作业的论文部分,介绍了一些Rendering Path,比较简 ...

  3. css中的浮动与三种清除浮动的方法

    说到浮动之前,先说一下CSS中margin属性的两种特殊现象 1, 外边距的合并现象: 如果两个div上下排序,给上面一个div设置margin-bottom,给下面一个div设置margin-top ...

  4. app引导页(背景图片切换加各个页面动画效果)

    前言:不知不觉中又加班到了10点半,整个启动页面做了一天多的时间,一共有三个页面,每个页面都有动画效果,动画效果调试起来麻烦,既要跟ios统一,又要匹配各种不同的手机,然后产品经理还有可能在中途改需求 ...

  5. 【架构设计】分布式文件系统 FastDFS的原理和安装使用

    本文地址 分享提纲: 1.概述 2. 原理 3. 安装 4. 使用 5. 参考文档 1. 概述 1.1)[常见文件系统] Google了一下,流行的开源分布式文件系统有很多,介绍如下:   -- mo ...

  6. 如何使用SHOW WARNINGS?

    1.show warnings:显示上一个语句的错误.警告以及注意.如图:

  7. MySQL:Fabric 安装

    MySQL Fabric安装 MySQL Fabric是Oracle提供的用于辅助进行ha\sharding的工具,它的基本架构: 从上面看出,借助于Fabric, 可以搭建 HA 集群.Sharin ...

  8. vs生成pro

    1.修改.vcxproj文件   <PropertyGroup Label="Globals">    <ProjectGuid>{AAAA4039-13B ...

  9. Linux字符设备驱动框架

    字符设备是Linux三大设备之一(另外两种是块设备,网络设备),字符设备就是字节流形式通讯的I/O设备,绝大部分设备都是字符设备,常见的字符设备包括鼠标.键盘.显示器.串口等等,当我们执行ls -l ...

  10. 初学DirectX11, 留个纪恋。

    以前学的是openGL, 最近才开始学DirectX11,写了个很垃圾的代码,怀念以前的glPushMatrix(), glPopMatrix(), glBegin(), glEnd(), 多简单啊, ...