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 相关文章推荐
HTML中不支持静态Expando的元素的问题
Mar 08 Javascript
基于Jquery的开发个代阴影的对话框效果代码
Jul 28 Javascript
日期处理的js库(迷你版)--自建js库总结
Nov 21 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
Apr 02 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
Jun 13 Javascript
使用jquery解析XML的方法
Sep 05 Javascript
javascript学习笔记(一)基础知识
Sep 30 Javascript
D3.js中data(), enter() 和 exit()的问题详解
Aug 17 Javascript
js实现表单Radio切换效果的方法
Aug 17 Javascript
js仿网易表单及时验证功能
Mar 07 Javascript
JS控制鼠标拒绝点击某一按钮的实例
Dec 29 Javascript
JS实现的合并多个数组去重算法示例
Apr 11 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 8小时时间差的解决方法小结
2009/12/22 PHP
简单的PHP多图上传小程序代码
2011/07/17 PHP
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
JavaScript面象对象设计
2008/04/28 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
5种处理js跨域问题方法汇总
2014/12/04 Javascript
JQuery控制radio选中和不选中方法总结
2015/04/15 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
Javascript类型系统之String字符串类型详解
2016/06/21 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
AngularJS实时获取并显示密码的方法
2018/02/06 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
Vue中使用vee-validate表单验证的方法
2018/05/09 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
2019/11/09 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
在RedHat系Linux上部署Python的Celery框架的教程
2015/04/07 Python
浅谈python新手中常见的疑惑及解答
2016/06/14 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
区分python中的进程与线程
2020/08/13 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
2020/11/18 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
Airbnb爱彼迎官网:成为爱彼迎房东,赚取收入
2019/03/14 全球购物
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
优秀公益广告词大全
2014/03/19 职场文书
预备党员承诺书
2014/03/25 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
2016年安康杯竞赛活动总结
2016/04/05 职场文书
Hive日期格式转换方法总结
2022/06/25 数据库