利用10行js代码实现上下滚动公告效果


Posted in Javascript onDecember 08, 2017

需求

在最近的项目中需要实现公告栏滚动显示效果如下:

利用10行js代码实现上下滚动公告效果

解决方案

1、 HTML

先建一个div层作为公告显示区,里面包裹一个公告列表(ul);

<div class="notice">
 <ul>
 <li>第1条公告第1条公告第1条公告第1条公告第1条公告第1条公告</li>
 <li>第2条公告第2条公告第2条公告第2条公告第2条公告第2条公告</li>
 <li>第3条公告第3条公告第3条公告第3条公告第3条公告第3条公告</li>
 <li>第4条公告第4条公告第4条公告第4条公告第4条公告第4条公告</li>
 </ul>
</div>

2、 CSS

固定公告栏显示区域的高度(35px),每条公告信息(li)的高度也必须是这个高度(我这里偷懒就用了行高),后面js中还要用到这个值。

div,ul,li{margin: 0;padding: 0}/*先初始化一下默认样式*/
.notice {
 width: 300px;/*单行显示,超出隐藏*/
 height: 35px;/*固定公告栏显示区域的高度*/
 padding: 0 30px;
 background-color: #b3effe;
 overflow: hidden;
}
.notice ul li {
 list-style: none;
 line-height: 35px;
 /*以下为了单行显示,超出隐藏*/
 display: block;
 white-space: nowrap;
 text-overflow: ellipsis;
 overflow: hidden;
}

3、 JavaScript

封装函数 noticeUp.js

使用 jquery animate方法改变列表ul的marginTop值来实现滚动效果;

知识点:

1、animate 回调函数 animate 函数执行完之后,要执行的函数。

2、appendTo() 方法

在被选元素的结尾(仍然在内部)插入指定内容。

注意:指定内容是当前页面中的某些元素,那么这些元素将从原位置上消失。简而言之,这相当于一个移动操作,而不是复制操作。

/*
* 参数说明
* obj : 动画的节点,本例中是ul
* top : 动画的高度,本例中是-35px;注意向上滚动是负数
* time : 动画的速度,即完成动画所用时间,本例中是500毫秒,即marginTop从0到-35px耗时500毫秒
* function : 回调函数,每次动画完成,marginTop归零,并把此时第一条信息添加到列表最后;
* 
*/ 
function noticeUp(obj,top,time) {
 $(obj).animate({
 marginTop: top
 }, time, function () {
 $(this).css({marginTop:"0"}).find(":first").appendTo(this);
 })
}

4、 封装函数的调用

首先引入jQuery库和自己的封装插件

使用定时器setInterval来控制公告信息显示的时间间隔,本例中是2000毫秒

<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script src="noticeUp.js"></script>
 <script>
 $(function () {
 // 调用 公告滚动函数
 setInterval("noticeUp('.notice ul','-35px',500)", 2000);
 });
</script>

更多滚动公告方式:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
关于实现代码语法标亮 dp.SyntaxHighlighter
Feb 02 Javascript
js读写cookie实现一个底部广告浮层效果的两种方法
Dec 29 Javascript
在myeclipse中如何加入jquery代码提示功能
Jun 03 Javascript
JavaScript中的console.group()函数详细介绍
Dec 29 Javascript
JavaScript编写Chrome扩展实现与浏览器的交互及时间通知
May 16 Javascript
使用jQuery加载html页面到指定的div实现方法
Jul 13 Javascript
vue-cli 如何打包上线的方法示例
May 08 Javascript
layDate日期控件使用方法详解
Nov 15 Javascript
JS实现获取自定义属性data值的方法示例
Dec 19 Javascript
微信小程序学习笔记之函数定义、页面渲染图文详解
Mar 28 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
Jul 27 Javascript
jquery实现鼠标悬浮弹出气泡提示框
Dec 23 jQuery
vue axios 二次封装的示例代码
Dec 08 #Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
Dec 08 #Javascript
js断点调试心得分享(必看篇)
Dec 08 #Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
Dec 08 #Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
Dec 08 #Javascript
微信小程序实现下载进度条的方法
Dec 08 #Javascript
js断点调试经验分享
Dec 08 #Javascript
You might like
谈谈关于php的优点与缺点
2013/04/11 PHP
php匹配字符中链接地址的方法
2014/12/22 PHP
PHP中模拟链表和链表的基本操作示例
2016/02/27 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
php版微信公众号自定义分享内容实现方法
2016/09/22 PHP
学习YUI.Ext第五日--做拖放Darg&amp;Drop
2007/03/10 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
小米公司JavaScript面试题
2014/12/29 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
JS实现区分中英文并统计字符个数的方法示例
2018/06/09 Javascript
微信小程序开发之左右分栏效果的实例代码
2019/05/20 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
2020/03/11 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
[01:28:56]2014 DOTA2华西杯精英邀请赛 5 24 CIS VS DK
2014/05/26 DOTA
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
python计算时间差的方法
2015/05/20 Python
用十张图详解TensorFlow数据读取机制(附代码)
2018/02/06 Python
在python中实现强制关闭线程的示例
2019/01/22 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
python实现简单俄罗斯方块
2020/03/13 Python
Python中的With语句的使用及原理
2020/07/29 Python
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
法律专业大学生职业生涯规划书:向目标一步步迈进
2014/09/22 职场文书
2015年团支部工作总结
2015/04/03 职场文书
党员承诺书范文2015
2015/04/27 职场文书
新学期主题班会
2015/08/17 职场文书
Golang的继承模拟实例
2021/06/30 Golang
python数字图像处理实现图像的形变与缩放
2022/06/28 Python