利用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 相关文章推荐
javascript检查日期格式的函数[比较全]
Oct 17 Javascript
CSS JavaScript 实现菜单功能 改进版
Dec 09 Javascript
jQuery asp.net 用json格式返回自定义对象
Apr 07 Javascript
javascript动态控制服务器控件实例
Sep 05 Javascript
javascript中的正则表达式使用指南
Mar 01 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
Mar 02 Javascript
javascript文件加载管理简单实现方法
Jul 25 Javascript
JS 对象(Object)和字符串(String)互转方法
May 20 Javascript
基于JavaScript实现拖动滑块效果
Feb 16 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
Apr 13 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
Jun 12 jQuery
JS实现的视频弹幕效果示例
Aug 17 Javascript
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在字符断点处截断文字的实现代码
2011/04/21 PHP
$_GET['goods_id']+0 的使用详解
2013/06/06 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
phpstudy2020搭建站点的实现示例
2020/10/30 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
2020/12/10 PHP
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
初窥JQuery(二) 事件机制(1)
2010/11/25 Javascript
Jquery Ajax请求代码(2)
2011/01/07 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
2013/06/25 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
微信小程序开发问题之wx.previewImage
2018/12/25 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
JS PHP字符串截取函数实现原理解析
2020/08/29 Javascript
[43:57]Liquid vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
pyside写ui界面入门示例
2014/01/22 Python
python发送HTTP请求的方法小结
2015/07/08 Python
详解Python的Django框架中的模版继承
2015/07/16 Python
python删除文本中行数标签的方法
2018/05/31 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
2018/06/28 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
win10下python2和python3共存问题解决方法
2019/12/23 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
大学生求职自我评价
2014/01/16 职场文书
土木工程专业推荐信
2014/02/19 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
模范班主任事迹材料
2014/12/17 职场文书
《圆明园的毁灭》教学反思
2016/02/16 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
教你怎么用python selenium实现自动化测试
2021/05/27 Python