一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]_javascript技巧

网上找了很多,万变不离其宗,写法核心都是一样的,在这里我给大家总结一下,可收藏备用。

html:

<div class="scroll">
 <ul class="list">
  <li><a href="#" target="_blank">公告一 或 中奖者 甲</a></li>
  <li><a href="#" target="_blank">公告二 或 中奖者 乙</a></li>
  <li><a href="#" target="_blank">公告三 或 中奖者 丙</a></li>
 </ul>
</div>

解析:适用于只有一行显示的公告类,以及展示中奖名单/抽奖结果等大框类,改变list高度即可

方案一:

function autoScroll(obj) {
 $(obj).find(".list").animate({
  marginTop: "-25px"
 }, 1000, function () {
  $(this).css({marginTop: "0px"}).find("li:first").appendTo(this);
 })
}
var timer = setInterval('autoScroll(".scroll")', 1000);
$(function () {
 $(".scroll").hover(function () {
  clearInterval(timer);
 }, function () {
  timer = setInterval('autoScroll(".scroll")', 1000);
 })
})

方案二:

function autoScroll(obj) {
 //var _t;
 function scroll() {
  $(obj).find(".list").animate({
   marginTop: "-25px"
  }, 500, function () {
   $(this).css({marginTop: "0px"}).find("li:first").appendTo(this);
  })
 }
 var timer = setInterval(scroll, 2800);
 $(obj).hover(
  function () {
   clearInterval(_t);
  },
  function () {
   timer = setInterval(scroll, 2800);
  }
 )
}
$(function () {
 autoScroll(".scroll");
})

解析:两种方案实现的功能是一样的,都是通过改变margin-top的值,把第一个再添加到最后一个来实现的。第一种直接写出运行步骤,定时器可以定义在加载函数的外面,也可写在里面,但是以下的内容必须写在加载函数的里面,否则不能正常执行。

    如果整体又定义为一个函数,则下面要在加载函数里调用一次函数,即可执行。

    在hover事件中的回调函数,必须写timer=setInterval(),指定时器重新赋值给timer,直接写setInterval不起作用,如果写var timer=setInterval();则又重新定义了一个timer,同样不起作用。

以上就是本文的全部内容,希望对大家有所帮助,同时也希望多多支持!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文字滚动
鼠标悬浮
javascript暂停1秒、javascript 暂停1s、javascript 暂停、javascript 悬浮弹窗、javascript 暂停执行,以便于您获取更多的相关知识。

时间: 2024-10-24 13:31:50

一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]_javascript技巧的相关文章

js在数组中删除重复的元素自保留一个(两种实现思路)_javascript技巧

例如:var student = ['qiang','ming','tao','li','liang','you','qiang','tao']; 第一种思路是:遍历要删除的数组arr, 把元素分别放入另一个数组tmp中,在判断该元素在arr中不存在才允许放入tmp中 用到两个函数:for ...in 和 indexOf() <script type="text/javascript"> var student = ['qiang','ming','tao','li','l

如何让一个方框栏内的文字滚动显示?_编程10000问

如何让一个方框栏内的文字滚动显示?<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> <!-- #include file="news.inc" --> <% dim NewsStr(1,5) NewsStr(0,0)="下载本栏链接" NewsStr(1,0)="http://www.intels.net

js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例_javascript技巧

题目中问题一拆为二: 1.文字在超出长度时,如何实现用省略号代替? 2.超长长度的文字在省略显示后,如何在鼠标悬停时,以悬浮框的形式显示出全部信息? 文字在超出长度时,如何实现用省略号代替? 用CSS实现超长字段用省略号表示的方法:所有浏览器兼容! html代码如下: <div style="width:150px;overflow:hidden; white-space:nowrap; text-overflow:ellipsis"> 用CSS实现超长字段被省略的简单方法

让DIV的滚动条自动滚动到最底部的3种方法(推荐)_javascript技巧

要制作一个在线聊天的程序,在做最后的修饰时,需要对获得的信息即时滚动以保证用户总能看到最新消息. 聊天程序是基于AJAX设计的,没有用框架,消息容器是一个DIV,所以问题就在于如何控制DIV的滚动条. 但同样的代码拿到我这里却完全失效,又仔细查了下资料说XHTML标准下scrollTop的值恒为0,解决办法是使用 document.documentElement.scrollTop代替document.body.scrollTop,讲了半天所解决的是整个页 面的滚动条.这个方法我是用不了了,因为

HTML页面滚动时获取离页面顶部的距离2种实现方法_javascript技巧

方法一:DOM 复制代码 代码如下: <script> window.onscroll = function() { console.info(window.scrollY); } </script> 注册onscroll事件,在控制台(按F12)打印当前页面距离页面顶部的距离(单位:像素px) 方法二:jQuery 复制代码 代码如下: $(function() { $(window).scroll(function() { console.info($(window).scro

一个不错的可以检测多中浏览器的函数和其它功能第1/2页_javascript技巧

//Examine the browser  检测浏览器的函数var userAgent = navigator.userAgent.toLowerCase(); var is_opera  = (userAgent.indexOf('opera') != -1); var is_saf    = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == 'Apple Computer, Inc.')); var is_w

JavaScript中将一个值转换为字符串的方法分析[译]_javascript技巧

译者注:前两天在看ES5的时候顺便出了一道题,今天看到这篇文章,刚好解释的很清楚,就翻译了一下.在JavaScript中,主要有三种方法能让任意值转换为字符串.本文讲解了每种方法以及各自的优缺点. 1.转换字符串的三种方法 这三种将value转换为字符串的方法是: 1.value.toString() 2."" + value 3.String(value) 第一种方法存在的问题是,它不能把null和undefined转换为字符串.还有第二种和第三种方法,这两种方法的效果基本一样. •

显示屏-led屏幕文字滚动的速率与屏幕刷新率的对应关系

问题描述 led屏幕文字滚动的速率与屏幕刷新率的对应关系 我想请教led显示屏文字滚动速率和屏幕刷新频率的对应关系,目前的刷新率是60hz,滚动速度大概是每秒移动15个点,能感觉到字体在抖动,请教应该怎么处理,最好能带上一个比较明确的分析过程,小弟在此不胜感激 解决方案 投影空间坐标与屏幕的对应关系 解决方案二: 为什么要这么精确,设置8分之一扫

求助 listbox 里面的文字滚动(急……)

问题描述 listbox是获取的sql里的结果,而且sql语句的结果每3个组合一行,输出到listbox中,现在listbox里的数据很多行,显示不下,目前一页能显示10行,想隔5秒显示下一页,在隔5秒再显示下一页,以此循环,直到显示到最后一页,然后判断是否到最后一页,再从头开始显示,然后再从新继续循环 解决方案 解决方案二:listview有一页一页这个概念吗?还是每一页一个listview?C/S还是B/S啊:每3个组合一行?这句话多了吧?我琢磨了半天,也没搞明白你在问什么?解决方案三:用d