js实现消息滚动效果


Posted in Javascript onJanuary 18, 2017

今天教大家做个消息滚动的小功能。实现的很简单。自己都有点意想不到呢~  哈哈

1.实现的中心思想,如图所示:

js实现消息滚动效果

2.图片移动,用的是appendTo()这个方法。这个方法是先将标签从父标签中删除,然后拼接到某个标签后面,所以也就是替我们实现了,remove()这个方法。所以用这个方法是极好的~

3.然后就会用到定时器了。用定时器每次调用移动方法,让<ul>每次执行一个动画,改变它的margin-top值,执行完动画后,再将它的margin-top变为初始值;

4.触摸<ul>标签清除定时器,离开后,继续执行。

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>滚动信息</title>
 <style>
  *{
   margin: 0;
   padding:0;
  }
  .scroll-box{
   width: 400px;
   height: 200px;
   border: 2px solid #000;
   margin: 20px auto;
   overflow: hidden;

  }
  .scroll-box ul{
   list-style: none;
   width: 100%;
   height: 100%;
  }
  .scroll-box ul li{
   width: 100%;
   height: 40px;
   box-sizing: border-box;
   line-height: 40px;
   text-align: center;
  }
 </style>
 <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
 <script>
  $(function () {
   //获得当前<ul>
   var $uList = $(".scroll-box ul");
   var timer = null;
   //触摸清空定时器
   $uList.hover(function () {
    clearInterval(timer);
   },function () {//离开启动定时器
    timer = setInterval(function () {
     scrollList($uList);
    },1000);
   }).trigger("mouseleave"); //自动触发触摸事件
   //滚动动画
   function scrollList(obj) {
    //获得当前<li>的高度
    var scrollHeight = $("ul li:first").height();
    //滚动出一个<li>的高度
    $uList.stop().animate({marginTop:-scrollHeight},600,function () {
     //动画结束后,将当前<ul>marginTop置为初始值0状态,再将第一个<li>拼接到末尾。
     $uList.css({marginTop:0}).find("li:first").appendTo($uList);
    });
   }
  });
 </script>
</head>
<body>
<div class="scroll-box">
 <ul>
  <li>1好消息!好消息!本店所有商品全部白送1</li>
  <li>2好消息!好消息!本店所有商品全部白送2</li>
  <li>3好消息!好消息!本店所有商品全部白送3</li>
  <li>4好消息!好消息!本店所有商品全部白送4</li>
  <li>5好消息!好消息!本店所有商品全部白送5</li>
  <li>6好消息!好消息!本店所有商品全部白送6</li>
  <li>7好消息!好消息!本店所有商品全部白送7</li>
  <li>8好消息!好消息!本店所有商品全部白送8</li>
 </ul>
</div>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
验证手机号码的JS方法分享
Sep 10 Javascript
jQuery控制iFrame(实例代码)
Nov 19 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
Aug 15 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
Aug 24 Javascript
对象转换为原始值的实现方法
Jun 06 Javascript
javascript如何定义对象数组
Jun 07 Javascript
微信小程序 video组件详解
Oct 25 Javascript
200行代码实现blockchain 区块链实例详解
Mar 14 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
Aug 19 Javascript
js中数组常用方法总结(推荐)
Apr 09 Javascript
深入解析koa之中间件流程控制
Jun 17 Javascript
使用vscode快速建立vue模板过程详解
Oct 10 Javascript
利用Vue.js实现checkbox的全选反选效果
Jan 18 #Javascript
微信小程序的动画效果详解
Jan 18 #Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
Jan 18 #Javascript
bootstrap配合Masonry插件实现瀑布式布局
Jan 18 #Javascript
JavaScript字符串对象(string)基本用法示例
Jan 18 #Javascript
Vue.js自定义指令的用法与实例解析
Jan 18 #Javascript
vue.js+Element实现表格里的增删改查
Jan 18 #Javascript
You might like
php ob_flush,flush在ie中缓冲无效的解决方法
2010/05/09 PHP
PHP 动态生成静态HTML页面示例代码
2014/01/15 PHP
优化WordPress中文章与评论的时间显示
2016/01/12 PHP
CI框架实现cookie登陆的方法详解
2016/05/18 PHP
用php+ajax新建流程(请假、进货、出货等)
2017/06/11 PHP
FCK调用方法..
2006/12/21 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
2012/01/13 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
Vue入门之数据绑定(小结)
2018/01/08 Javascript
JS伪继承prototype实现方法示例
2018/06/20 Javascript
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
2018/10/17 NodeJs
vue实现路由监听和参数监听
2019/10/29 Javascript
解决vue-router 切换tab标签关闭时缓存问题
2020/07/22 Javascript
javascript实现滚轮轮播图片
2020/12/13 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
Python Sql数据库增删改查操作简单封装
2016/04/18 Python
Python数据结构之图的应用示例
2018/05/11 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
Python配置文件处理的方法教程
2019/08/29 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
keras.utils.to_categorical和one hot格式解析
2020/07/02 Python
护士自荐信
2013/10/25 职场文书
进步之星获奖感言
2014/02/22 职场文书
机电一体化毕业生自荐信
2014/06/19 职场文书
防汛工作情况汇报
2014/10/28 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书
2016高考寄语或鼓励的话语
2015/12/04 职场文书
初三英语教学反思
2016/02/15 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server
详解MySQL的主键查询为什么这么快
2022/04/03 MySQL