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


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 UI皮肤定制
Jul 27 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
Mar 18 Javascript
jquery使用append(content)方法注意事项分享
Jan 06 Javascript
angular分页指令操作
Jan 09 Javascript
ES6新增数据结构WeakSet的用法详解
Aug 07 Javascript
react以create-react-app为基础创建项目
Mar 14 Javascript
从理论角度讨论JavaScript闭包
Apr 03 Javascript
说说Vuex的getters属性的具体用法
Apr 15 Javascript
layui-table表复选框勾选的所有行数据获取的例子
Sep 13 Javascript
简单了解Vue + ElementUI后台管理模板
Apr 07 Javascript
vue使用swiper实现左右滑动切换图片
Oct 16 Javascript
HTML+VUE分页实现炫酷物联网大屏功能
May 27 Vue.js
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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
PHP 页面编码声明方法详解(header或meta)
2010/03/12 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
2012/09/25 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
2019/01/15 PHP
一文看懂PHP进程管理器php-fpm
2020/06/01 PHP
Display SQL Server Version Information
2007/06/21 Javascript
HTML中的setCapture和releaseCapture使用介绍
2012/03/21 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
JavaScript利用Date实现简单的倒计时实例
2017/01/12 Javascript
微信小程序 九宫格实例代码
2017/01/21 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
angularJs在多个控制器中共享服务数据的方法
2018/09/30 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
浅谈vue单页面中有多个echarts图表时的公用代码写法
2020/07/19 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
2020/09/22 Javascript
[07:57]DOTA2热力大趴狂欢夜 广州站活动回顾
2013/11/27 DOTA
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
使用Python的PEAK来适配协议的教程
2015/04/14 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
Python中staticmethod和classmethod的作用与区别
2018/10/11 Python
解决python 无法加载downsample模型的问题
2018/10/25 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
利用python实现周期财务统计可视化
2019/08/25 Python
python能自学吗
2020/06/18 Python
opencv 图像滤波(均值,方框,高斯,中值)
2020/07/08 Python
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
2020/01/06 HTML / CSS
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
New Balance天猫官方旗舰店:始于1906年,百年慢跑品牌
2017/11/15 全球购物
《狼和小羊》教学反思
2014/04/20 职场文书
敬老院活动总结
2014/04/28 职场文书
个人总结与自我评价2015
2015/03/11 职场文书
2016年领导干部廉政承诺书
2016/03/24 职场文书