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


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 相关文章推荐
js优化针对IE6.0起作用(详细整理)
Dec 25 Javascript
node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用
Nov 04 Javascript
浅谈JavaScript中的作用域和闭包问题
Jul 07 Javascript
jquery实现根据浏览器窗口大小自动缩放图片的方法
Jul 17 Javascript
js判断当前页面用什么浏览器打开的方法
Jan 06 Javascript
ionic 上拉菜单(ActionSheet)实例代码
Jun 06 Javascript
vue一步步实现alert功能
Jul 05 Javascript
微信小程序 循环及嵌套循环的使用总结
Sep 26 Javascript
vue实现搜索功能
May 28 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
Oct 23 Javascript
微信小程序语音同步智能识别的实现案例代码解析
May 29 Javascript
如何用JavaScript实现一个数组惰性求值库
May 05 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
php a simple smtp class
2007/11/26 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
解析PHP可变函数的经典用法
2013/06/20 PHP
使用php清除bom示例
2014/03/03 PHP
PHP使用递归生成文章树
2015/04/21 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
jQuery实现模拟marquee标签效果
2015/07/14 Javascript
老生常谈javascript的类型转换
2016/10/12 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
Bootstrap的Carousel配合dropload.js实现移动端滑动切换图片
2017/03/10 Javascript
JavaScript使用ZeroClipboard操作剪切板
2017/05/10 Javascript
nodejs6下使用koa2框架实例
2017/05/18 NodeJs
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
JavaScript常见继承模式实例小结
2019/01/11 Javascript
nuxt静态部署打包相对路径操作
2020/11/06 Javascript
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
windows 下python+numpy安装实用教程
2017/12/23 Python
对pandas中to_dict的用法详解
2018/06/05 Python
python读取文件名并改名字的实例
2019/01/07 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
python脚本开机自启的实现方法
2019/06/28 Python
python提取log文件内容并画出图表
2019/07/08 Python
PyCharm取消波浪线、下划线和中划线的实现
2020/03/03 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
Python 创建守护进程的示例
2020/09/29 Python
英国百年闻名的优质健康产品连锁店:Holland & Barrett
2019/12/19 全球购物
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
内勤主管岗位职责
2014/04/03 职场文书
《大禹治水》教学反思
2014/04/27 职场文书
会计专业自荐信
2014/06/03 职场文书
详解运行Python的神器Jupyter Notebook
2021/06/03 Python