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


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 相关文章推荐
jquery中:input和input的区别分析
Jul 13 Javascript
Javascript 类、命名空间、代码组织代码
Jul 31 Javascript
JavaScript动态创建link标签到head里的方法
Dec 22 Javascript
js实现简单随机抽奖的方法
Jan 27 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
Jun 05 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
Aug 25 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
Feb 25 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
Mar 19 Javascript
p5.js入门教程之图片加载
Mar 20 Javascript
vue-cli构建vue项目的步骤详解
Jan 27 Javascript
详解微信小程序的不同函数调用的几种方法
May 08 Javascript
解决axios post 后端无法接收数据的问题
Oct 29 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 生成文字png图片的代码
2011/04/17 PHP
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
thinkphp特殊标签用法概述
2014/11/24 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
键盘 keycode的值 javascript时触发事件时很有用的要素
2009/11/02 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
js实现表单提交后不重新刷新当前页面
2016/11/30 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
js定时器实现倒计时效果
2017/11/05 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
详解ES6 CLASS在微信小程序中的应用实例
2020/04/24 Javascript
如何使用Javascript中的this关键字
2020/05/28 Javascript
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
Django中的文件的上传的几种方式
2018/07/23 Python
python随机数分布random测试
2018/08/27 Python
python读取有密码的zip压缩文件实例
2019/02/08 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
Python 如何在字符串中插入变量
2020/08/01 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
数据库什么时候应该被重组
2012/11/02 面试题
介绍一下你对SOA的认识
2016/04/24 面试题
材料专业毕业生求职信
2014/02/26 职场文书
检察院院长群众路线教育实践活动个人整改措施
2014/10/04 职场文书
2016重阳节红领巾广播稿
2015/12/18 职场文书
新学期小学班主任工作计划
2019/06/21 职场文书
开学第一周日记(三篇范文)
2019/08/23 职场文书
CSS3 实现的图片悬停的切换按钮
2021/04/13 HTML / CSS
Python办公自动化之Excel(中)
2021/05/24 Python