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


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 相关文章推荐
Node.js中的事件驱动编程详解
Aug 16 Javascript
javascript动态创建及删除元素的方法
Dec 22 Javascript
微信JS接口汇总及使用详解
Jan 09 Javascript
JS获取网页图片name属性的方法
Apr 01 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
Nov 24 Javascript
微信小程序 canvas API详解及实例代码
Oct 08 Javascript
jQuery实现表格元素动态创建功能
Jan 09 Javascript
通过示例彻底搞懂js闭包
Aug 10 Javascript
node前端模板引擎Jade之标签的基本写法
May 11 Javascript
vue + element-ui的分页问题实现
Dec 17 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
Apr 04 jQuery
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
Nov 09 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
为什么那些咖啡爱好者大多看不上连锁咖啡店?
2021/03/06 咖啡文化
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
2016/08/17 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
Laravel框架查询构造器简单示例
2019/05/08 PHP
JavaScript类和继承 this属性使用说明
2010/09/03 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
详解JavaScript语法对{}处理的坑爹之处
2014/06/05 Javascript
jQuery无刷新切换主题皮肤实例讲解
2015/10/21 Javascript
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
JS实现图片平面旋转的方法
2016/03/01 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
折叠菜单及选择器的运用
2017/02/03 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
微信小程序 获取javascript 里的数据
2017/08/17 Javascript
SeaJS中use函数用法实例分析
2017/10/10 Javascript
Bootstrap Fileinput 4.4.7文件上传实例详解
2018/07/25 Javascript
vuex vue简单使用知识点总结
2019/08/29 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
python记录程序运行时间的三种方法
2017/07/14 Python
opencv设置采集视频分辨率方式
2019/12/10 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
2020/05/20 Python
Python 实现集合Set的示例
2020/12/21 Python
Python 图片处理库exifread详解
2021/02/25 Python
CSS3 :not()选择器实现最后一行li去除某种css样式
2016/10/19 HTML / CSS
泰国综合购物网站:Lazada泰国
2018/04/09 全球购物
博朗(Braun)俄罗斯官方商店:德国小家电品牌
2019/09/24 全球购物
Java基础知识面试题
2014/03/25 面试题
年度考核评语
2014/01/19 职场文书
《恐龙》教学反思
2014/04/27 职场文书
企业委托书范本
2014/09/13 职场文书
入党宣誓仪式主持词
2015/06/29 职场文书
Redis 哨兵机制及配置实现
2022/03/25 Redis