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


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 相关文章推荐
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
Jan 27 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
Sep 09 Javascript
node.js中的path.resolve方法使用说明
Dec 08 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
Jul 22 Javascript
javascript实现简单的on事件绑定
Aug 23 Javascript
Bootstrap框架的学习教程详解(二)
Oct 18 Javascript
div实现自适应高度的textarea实现angular双向绑定
Jan 08 Javascript
layui导航栏实现代码
May 19 Javascript
微信小程序多张图片上传功能
Jun 07 Javascript
浅谈pc端rem字体设置的问题
Aug 03 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
Jan 16 Javascript
浅析JavaScript 函数防抖和节流
Jul 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
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
点击广告后才能获得下载地址
2006/10/26 Javascript
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
基于Jquery的淡入淡出的特效基础练习
2010/12/13 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
js实现选中复选框文字变色的方法
2015/08/14 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
2016/07/07 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
js实现简单的二级联动效果
2017/03/09 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
2017/05/02 Javascript
vuex的使用及持久化state的方式详解
2018/01/23 Javascript
JavaScript插入排序算法原理与实现方法示例
2018/08/06 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
2018/09/27 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
python连接池实现示例程序
2013/11/26 Python
python中字典(Dictionary)用法实例详解
2015/05/30 Python
Python编程实现粒子群算法(PSO)详解
2017/11/13 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
python如何删除文件中重复的字段
2019/07/16 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
纪念建党演讲稿范文
2014/01/13 职场文书
校园奶茶店创业计划书
2014/01/23 职场文书
创先争优个人承诺书
2014/08/30 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
学习杨善洲同志先进事迹心得体会
2016/01/23 职场文书
Python中基础数据类型 set集合知识点总结
2021/08/02 Python