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


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 相关文章推荐
javascript+iframe 实现无刷新载入整页的代码
Mar 17 Javascript
JQuery自定义事件的应用 JQuery最佳实践
Aug 01 Javascript
javascript中运用闭包和自执行函数解决大量的全局变量问题
Dec 30 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
Jul 12 Javascript
three.js中文文档学习之通过模块导入
Nov 20 Javascript
详解JavaScript的BUG和错误
May 07 Javascript
详解vue项目中如何引入全局sass/less变量、function、mixin
Jun 02 Javascript
js实现蒙版效果
Jan 11 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
Jun 17 Javascript
javascript+Canvas实现画板功能
Jun 23 Javascript
OpenLayers3实现测量功能
Sep 25 Javascript
vue-cropper组件实现图片切割上传
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
关于crontab的使用详解
2013/06/24 PHP
javascript获得CheckBoxList选中的数量
2009/10/27 Javascript
javascript onmouseout 解决办法
2010/07/17 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
JavaScript中的立即执行函数表达式介绍
2015/03/15 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
2015/10/29 Javascript
JS组件Bootstrap Table表格多行拖拽效果实现代码
2015/12/08 Javascript
jQuery的ajax下载blob文件
2016/07/21 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
利用iscroll4实现轮播图效果实例代码
2017/01/11 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
2017/01/17 Javascript
Bootstrap进度条实现代码解析
2017/03/07 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
实现Vue的markdown文档可以在线运行的方法示例
2018/12/11 Javascript
vue + element-ui的分页问题实现
2018/12/17 Javascript
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
2018/07/09 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
CSS3+Sprite实现僵尸行走动画特效源码
2016/01/27 HTML / CSS
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
高中毕业生自我鉴定范文
2013/09/26 职场文书
十岁生日父母答谢词
2014/01/18 职场文书
会计专业应届生自荐信
2014/02/07 职场文书
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
有限责任公司股东合作协议书范本
2014/10/30 职场文书
学校远程教育工作总结
2015/08/11 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript
Mysql使用全文索引(FullText index)的实例代码
2022/04/03 MySQL
《乙女游戏世界对路人角色很不友好》OP主题曲无字幕动画MV公开
2022/04/05 日漫