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


Posted in Javascript onDecember 01, 2016

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

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 相关文章推荐
你需要知道的10个最佳javascript开发实践小结
Apr 15 Javascript
原生js实现shift/ctrl/alt按键的获取
Apr 08 Javascript
封装html的select标签的js操作实例
Jul 02 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
Feb 12 Javascript
javascript实现简单查找与替换的方法
Jul 22 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
Nov 28 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
Apr 22 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
Jul 25 Javascript
基于Three.js实现360度全景图片
Dec 30 Javascript
vuejs中父子组件之间通信方法实例详解
Jan 17 Javascript
Node.js文本文件BOM头的去除方法
Nov 22 Javascript
面试中canvas绘制图片模糊图片问题处理
Mar 13 Javascript
jQuery中ajax错误调试分析
Dec 01 #Javascript
JQuery学习总结【二】
Dec 01 #Javascript
Vue.js第二天学习笔记(vue-router)
Dec 01 #Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
Dec 01 #Javascript
Vue方法与事件处理器详解
Dec 01 #Javascript
简单理解vue中实例属性vm.$els
Dec 01 #Javascript
jsp 自动编译机制详细介绍
Dec 01 #Javascript
You might like
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
开发大型 PHP 项目的方法
2007/01/02 PHP
php 数组排序 array_multisort与uasort的区别
2011/03/24 PHP
PHP可变函数的使用详解
2013/06/14 PHP
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
php 伪静态之IIS篇
2014/06/02 PHP
浅谈php安全性需要注意的几点事项
2014/07/17 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
javascript解三阶幻方(九宫格)
2015/04/22 Javascript
JavaScript实现基于十进制的四舍五入实例
2015/07/17 Javascript
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
AngularJS基础 ng-dblclick 指令用法
2016/08/01 Javascript
vue2.0 中使用transition实现动画效果使用心得
2018/08/13 Javascript
vue项目中跳转到外部链接的实例讲解
2018/09/20 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
js 实现ajax发送步骤过程详解
2019/07/25 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
[05:23]DOTA2-DPC中国联赛2月1日Recap集锦
2021/03/11 DOTA
理解Python中函数的参数
2015/04/27 Python
python使用PyQt5的简单方法
2019/02/27 Python
Python实现代码块儿折叠
2020/04/15 Python
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
健康家庭事迹材料
2014/05/02 职场文书
个人批评与自我批评范文
2014/10/17 职场文书
国博复兴之路观后感
2015/06/02 职场文书
浅谈由position属性引申的css进阶讨论
2021/05/25 HTML / CSS