纯JS打造循环间隔滚动公告栏

用js来实现公告栏文字上下滚动效果,可添加新数据(简单) 用js实现公告栏滚动效果,定时获取并添加新数据至旧滚动列表尾部,并继续滚动,滚动至遍历列表最后则暂时暂停滚动 阅读详情
<html>
<head>
    
<title>纯JS打造循环间隔滚动公告栏</title>
    
<style type="text/css">
        div#scrollDiv
        
{
            width
: 100%; 
            height
: 30px; 
            position
: relative; 
            left
: 0px; 
            top
: 0px; 
            border
: #ccc 1px solid; 
            overflow
: hidden;
        
}

        
        div#scrollDiv div
        
{
            position
: absolute; 
            text-align
: center; 
            width
: 100%; 
            height
: 30px; 
            line-height
: 30px; 
            top
: 0px;
        
}

        
        div#divContent
        
{
            position
: absolute;
            text-align
: left;
            background-color
: #606066;
        
}

    
</style>
</head>
<body>
<div id="scrollDiv">
</div>

<script language="javascript" type="text/javascript">
var notice = new Array();
var scrollDiv = $("scrollDiv");
var oTime;
var moveSize = 100;
var timeSpace = 2500;
var nowNoticeIndex;

var notice1 = "内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一内容一";
var notice2 = "内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二内容二";
var notice3 = "内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三内容三";
var notice4 = "内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四内容四";
var notice5 = "内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五内容五";
var notice6 = "内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六内容六";
var notice7 = "内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七内容七";

notice[
0] = new Array("notice test1 --coding by pippe pippe@163.com", notice1, 500, 400);   //标题,内容,打开的DIV宽度,打开的DIV高度
notice[1] = new Array("notice test2 --coding by pippe pippe@163.com", notice2, 100, 600);
notice[
2] = new Array("notice test3 --coding by pippe pippe@163.com", notice3, 400, 300);
notice[
3] = new Array("notice test4 --coding by pippe pippe@163.com", notice4, 700, 500);
notice[
4] = new Array("notice test5 --coding by pippe pippe@163.com", notice5, 100, 500);
notice[
5] = new Array("notice test6 --coding by pippe pippe@163.com", notice6, 600, 400);
notice[
6] = new Array("notice test7 --coding by pippe pippe@163.com", notice7, 300, 600);

function $(controlId)
{
    
return document.getElementById(controlId);
}


function setScroll(previousNoticeIndex)
{
    
var noticeLen = notice.length;
    
if (noticeLen == 0)
    
{
        
return;
    }

    
    nowNoticeIndex 
= previousNoticeIndex < noticeLen - 1 ? previousNoticeIndex + 1 : 0;
    setEnter(nowNoticeIndex);
    setQuit(previousNoticeIndex);
    oTime 
= setTimeout("setScroll(" + nowNoticeIndex + ")", timeSpace);
}


//进入主区
function setEnter(noticeIndex)
{
    
var enterDiv = $("div" + noticeIndex);
    
if (enterDiv)
    
{
        
var thisLeft = parseInt(enterDiv.style.left);
        
if (thisLeft > enterDiv.enterLeft + moveSize)
        
{
            enterDiv.style.left 
= (thisLeft - moveSize) + "px";
        }

        
else
        
{
            enterDiv.style.left 
= enterDiv.enterLeft;
            
return;
        }

    }

    
else
    
{
        enterDiv 
= document.createElement("div");
        scrollDiv.appendChild(enterDiv);
        enterDiv.id 
= "div" + noticeIndex;
        enterDiv.style.left 
= enterDiv.parentNode.clientWidth + "px";
        enterDiv.style.cursor 
= "pointer";
        enterDiv.innerHTML 
= notice[noticeIndex][0];
        enterDiv.onmouseover 
= function() {divMouseOver()};
        enterDiv.onmouseout 
= function() {divMouseOut()};
        enterDiv.onclick 
= function() {divClick()};
        enterDiv.enterLeft 
= (enterDiv.parentNode.clientWidth - enterDiv.clientWidth) /2;
        enterDiv.quitLeft 
= -enterDiv.clientWidth;
    }

    setTimeout(
"setEnter(" + noticeIndex + ")", 20);
}


//离开主区
function setQuit(noticeIndex)
{
    
var quitDiv = $("div" + noticeIndex);
    
if (quitDiv)
    
{
        
var thisLeft = parseInt(quitDiv.style.left);
        
if (thisLeft > quitDiv.quitLeft + moveSize)
        
{
            quitDiv.style.left 
= (thisLeft - moveSize) + "px";
        }

        
else
        
{
            quitDiv.style.left 
= quitDiv.quitLeft;
            quitDiv.parentNode.removeChild(quitDiv);
            quitDiv 
= null;
            
return;
        }

    }

    setTimeout(
"setQuit(" + noticeIndex + ")", 20);
}


//鼠标经过停止切换
function divMouseOver()
{
    clearTimeout(oTime);
}


//鼠标离开继续切换
function divMouseOut()
{
    oTime 
= setTimeout("setScroll(" + nowNoticeIndex + ")", timeSpace);
}


var divContent;
var aimWidth, aimHeight, aimLeft, aimTop;
var saveWidth, saveHeight, saveLeft, saveTop;
var moveSpace = 50;
var resizeSpace = 20;
var isClose = "open";  //内容区打开与否
//
点击标题显示内容
function divClick()
{
    
var screen_X = document.body.clientWidth;
    
var screen_Y = document.body.clientHeight;
    aimWidth 
= notice[nowNoticeIndex][2] ? parseInt(notice[nowNoticeIndex][2]) : 500;
    aimHeight 
= notice[nowNoticeIndex][3] ? parseInt(notice[nowNoticeIndex][3]) : 500;
    aimLeft 
= (screen_X - aimWidth) / 2;
    aimTop 
= (screen_Y - aimHeight) / 2;
    saveWidth 
= saveWidth ? saveWidth : 50;
    saveHeight 
= saveHeight ? saveHeight : 50;
    saveLeft 
= saveLeft ? saveLeft : (screen_X - saveWidth) / 2;
    saveTop 
= saveTop ? saveTop : (screen_Y - saveHeight) / 2;
    
//内容DIV未打开创建内容DIV
    if (!divContent)
    
{
        divContent 
= document.createElement("div");
        divContent.id 
= "divContent";
        divContent.style.left 
= (screen_X / 2) + "px";
        divContent.style.top 
= scrollDiv.clientHeight + "px";
        divContent.style.width 
= "50px";
        divContent.style.height 
= "50px";
        divContent.style.overflow 
= "auto";
        document.body.appendChild(divContent);
        isClose 
= "close";
    }

    
else
    
{
        isClose 
= "open";
    }

    divContent.style.filter 
= "alpha(opacity=50)";
    reSize();
}


//自动切换到合适位置及预订的大小
function reSize()
{
    
var nowWidth = parseInt(divContent.style.width);
    
var nowHeight = parseInt(divContent.style.height);
    
var nowLeft = parseInt(divContent.style.left);
    
var nowTop = parseInt(divContent.style.top);
    
var thisTimeSpace = 10;
    
//滚动到上次的位置及大小
    if (isClose == "close")
    
{
        
if (saveWidth > nowWidth + moveSpace || saveHeight > nowHeight + moveSpace || saveLeft > nowLeft + moveSpace || saveTop > nowTop + moveSpace || 
            saveWidth 
< nowWidth - moveSpace || saveHeight < nowHeight - moveSpace || saveLeft < nowLeft - moveSpace || saveTop < nowTop - moveSpace)
        
{
            divContent.style.width 
= saveWidth > nowWidth + moveSpace ? (nowWidth + moveSpace) + "px" : saveWidth < nowWidth - moveSpace ? (nowWidth - moveSpace) + "px" : saveWidth + "px";
            divContent.style.height 
= saveHeight > nowHeight + moveSpace ? (nowHeight + moveSpace) + "px" : saveHeight < nowHeight - moveSpace ? (nowHeight - moveSpace) + "px" : saveHeight + "px";
            divContent.style.left 
= saveLeft > nowLeft + moveSpace ? (nowLeft + moveSpace) + "px" : saveLeft < nowLeft - moveSpace ? (nowLeft - moveSpace) + "px" : saveLeft + "px";
            divContent.style.top 
= saveTop > nowTop + moveSpace ? (nowTop + moveSpace) + "px" : saveTop < nowTop - moveSpace ? (nowTop - moveSpace) + "px" : saveTop + "px";
            setTimeout(
"reSize()", thisTimeSpace);
            
return;
        }

        isClose 
= "open";
    }

    
//滚动到预定的位置及大小
    if (aimLeft > nowLeft + resizeSpace || aimLeft < nowLeft - resizeSpace)
    
{
        divContent.style.left 
= aimLeft > nowLeft + resizeSpace ? (nowLeft + resizeSpace) + "px" : aimLeft < nowLeft - resizeSpace ? (nowLeft - resizeSpace) + "px" : aimLeft + "px";
        setTimeout(
"reSize()", thisTimeSpace);
        
return;
    }

    
    
if (aimTop > nowTop + resizeSpace || aimTop < nowTop - resizeSpace)
    
{
        divContent.style.top 
= aimTop > nowTop + resizeSpace ? (nowTop + resizeSpace) + "px" : aimTop < nowTop - resizeSpace ? (nowTop - resizeSpace) + "px" : aimTop + "px";
        setTimeout(
"reSize()", thisTimeSpace);
        
return;
    }

    
    
if (aimWidth > nowWidth + resizeSpace || aimWidth < nowWidth - resizeSpace)
    
{
        divContent.style.width 
= aimWidth > nowWidth + resizeSpace ? (nowWidth + resizeSpace) + "px" : aimWidth < nowWidth - resizeSpace ? (nowWidth - resizeSpace) + "px" : aimWidth + "px";
        setTimeout(
"reSize()", thisTimeSpace);
        
return;
    }

    
    
if (aimHeight > nowHeight + resizeSpace || aimHeight < nowHeight - resizeSpace)
    
{
        divContent.style.height 
= aimHeight > nowHeight + resizeSpace ? (nowHeight + resizeSpace) + "px" : aimHeight < nowHeight - resizeSpace ? (nowHeight - resizeSpace) + "px" : aimHeight + "px";
        setTimeout(
"reSize()", thisTimeSpace);
        
return;
    }

    
    saveWidth 
= aimWidth;
    saveHeight 
= aimHeight;
    saveLeft 
= aimLeft;
    saveTop 
= aimLeft;  //以左距为半程顶距,增大打开移动动画效果
    divContent.innerHTML = "<p style="font-weight: bold">" + notice[nowNoticeIndex][0] + "</p>" + notice[nowNoticeIndex][1] + "<br/> <a href="javascript:closeContent()">关闭</a>";
    divContent.style.filter 
= "alpha(opacity=100)";
}


function closeContent()
{
    
if (divContent)
    
{
        divContent.parentNode.removeChild(divContent);
        divContent 
= null;
    }

}


setScroll(
-1);
</script>
</body>
</html>

 

使用说明:

  1. 通过二维数组循环显示公告,如果为最后一条循环回第一条
  2. 循环效果为进入中间区为快速进入,停顿数秒(预设2.5秒)后快速离开中间区,同时下一条公告快速进入!
  3. 鼠标经过并且停留在公告区时,公告不进行切换,待鼠标离开后再次进行切换!
  4. 点击公告区可查看当前点击公告内容
    • 如果内容DIV当前未被打开,创建一个DIV,滑动路径分为两步,第一步滑动的宽度、高度、左距、顶距分别为上一次关闭的内容区的的宽度、高度、左距、左距,如果未打开过采用默认,第二步滑动同下一条一致
    • 如果内容DIV当前已打开,则调整大小及位置为将要打开的大小及位置,滑动并替换内容区主题和内容
    • 内容DIV可做成可移动,参考本人上次所写的移动DIV代码,此处不提供
js实现滚动功能---公告栏 最近找工作找的头昏脑胀,突然发现自己之前是多么的幸福。。。。 闲下来,充实我的博客 滚动公告栏 滚动公告栏,之前在毕设中就实现过一次,现在翻出来重新写一次。 原理:div公告栏(#part2)设置具体宽高,并设置溢出隐藏,这个地方就是我们公告展示的地方。在公告栏中有两个div,一个用来放置我们的公告内容,另一个用来填补当公告一滚动完时,中间空出来的一小块空间。 注:红色为公告栏,... 阅读详情

相关推荐

jQuery实现的上下滚动公告栏

用jQuery实现的上下滚动公告栏。主要用jQuery中的animate()方法和setInterval()实现的,代码简单使用。

html标题栏字符间隙,html布局有间隔问题

htmlasdfasdf[1,2,3,4]123css#dev-tool{width:100%;height:200px;position:fixed;bottom:0;left:0;background-color:#dedede}#dev-tool *{box-sizing:border-box}#dev-tool .tool-header{width:100%;height:20px;bac...

weixin_39862669的博客 356

opencv 常用函数总结

本文是一份OpenCV图像处理的常用函数总结,详细介绍了图像的读入、显示、保存、像素处理、图像属性获取、基础操作、阈值处理、图像平滑、形态学转换以及直方图处理等关键技术。文章通过代码示例和参数说明,帮助读者快速掌握OpenCV在图像处理领域的应用。

weixin_44063529的博客 1600

HTML<marquee>标签实现滚动公告通知、广告的效果

每当实现页面的时候遇到动态效果,首先想到的就是用js、jQuery插件来实现,之前为了实现公告通知从下往上轮播,搜了不少插件,但是都没有合适的,无意中搜到一个html标签<marquee></marquee>,可以实现这个滚动效果。 说一下marquee的属性:   behavior设定滚动的方式:     alternate:来回滚动。    scroll...

3862

手把手教你用GD32F407VET6的EXMC驱动外部SRAM,搞定大内存需求

本文详细介绍了如何使用GD32F407VET6的EXMC外设驱动外部SRAM,解决嵌入式开发中的大内存需求问题。通过硬件连接方案、EXMC时序配置与初始化步骤,以及软件集成与内存管理技巧,帮助开发者快速实现内存扩展。特别适合需要处理图形显示缓冲、音频处理等大内存场景的GD32F407开发者。

weixin_30752699的博客 346

AI报告撰写实战指南:从提示词工程到全流程优化的底层逻辑与实践突破

传统AI写作常被诟病为“信息拼贴”——模型虽能生成文本,却常出现逻辑断裂、数据矛盾、风格不符等问题。而“全流程优化”则是通过系统化设计,将报告生成拆解为需求解析→数据对齐→提示词设计→初稿生成→迭代优化→格式适配六大环节,每个环节均通过技术手段提升输出质量。提示词工程:本质是通过结构化指令(如角色设定、任务分解、格式约束、示例引导)精准控制模型输出方向,是连接用户需求与模型能力的“翻译器”。全流程优化。

2501_92808811的博客 886

用HTML实现公告栏(滚动字幕)!!!

来自Asp.net精英论坛:bbs.1aspx.com                                                        ^_^大家好!我是***!^_^ ^_^欢迎来到我的个人空间!^_^ http://522428544.qzone.qq.com/" target="_blank">欢迎大家给我踩QQ空间!

5992

【Linux】Petalinux使用QSPI FLASH引导启动

1. 预分配Flash空间使用Flash引导Petalinux做的系统,也有进阶的做法。部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。1. 预分配Flash空间根据生成的bit文件大小估算BOOT.BIN文件的大小,为Flash大概分配四个分区:boot、bootenv、kernel、bootscr,分别存放BOOT.BIN文件、u-boot的环境变量、内核文件(image.ub/zImage/uImage等)、启动脚本boot.scr。

Tesseract_9527的博客 3375

html滚动信息栏,公告滚动.html

dodou-移动框架#scrollDiv{height:40px;line-height:40px;overflow:hidden; background:url(images/icon23.png) no-repeat 10px center; background-size: 24px; border-bottom:1px solid #ccc; padding-left: 44px;}#sc...

weixin_42364392的博客 598

海康机器人ID5000 系列智能读码器(三)

又過了兩個月,漸漸的對這個攝像頭的功能更加熟悉了,而實際上,我要做的功能也越來越複雜,從一開始的讀碼,到後來的通過讀二維碼控制設備,再到未讀到二維碼控制設備等,下面就對具體的細項做一個總結。了解完這些就能對ID5000這個設備,乃至很多海康的設備都能做一個二次開發。

qq_54359036的博客 3073

Multica 自托管部署与使用入门:从上线到让 AI Agent 真正干活

Multica是一个将AI Agent作为团队成员的任务协作平台,支持自托管部署。本文介绍了完整的单机部署流程: 核心架构包括前端界面、后端服务、PostgreSQL数据库和Runtime执行机器 推荐使用Docker Compose部署,需配置数据持久化目录 提供详细的docker-compose.yml和.env配置文件说明 重点注意事项:数据库密码和JWT密钥必须修改,生产环境配置必须设为production 需正确配置前端访问地址和WebSocket连接 部署完成后,用户可创建AI Agent并将其

q742971636的博客 1721

告别卡顿:基于CSS Transition的Vue高性能跑马灯组件设计与实现

本文详细介绍了基于CSS Transition的Vue高性能跑马灯组件设计与实现,解决传统setInterval方案在移动端卡顿问题。通过硬件加速、动态时间计算和无限循环技术,实现丝滑流畅的滚动效果,适用于电商、新闻等高频场景,显著提升用户体验和性能表现。

weixin_42558257的博客 306

解锁RK3588:内核模块签名与安全启动配置全攻略

RK3588作为一款高性能嵌入式SoC芯片,其内核模块签名与安全启动配置是保障系统安全的核心机制。本文详细介绍了RK3588的芯片特性,重点阐述了安全启动的硬件信任链原理和内核模块签名的实现方法。通过具体步骤演示了从密钥生成、模块签名到验证加载的完整流程,并深入解析了安全启动配置的硬件连接、软件工具准备、密钥烧录等关键环节。此外,还提出了防御旁路攻击和动态信任链扩展等高级安全策略,为RK3588在工业控制、智能安防等高安全要求场景中的应用提供了全面的安全解决方案。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 348

html内容循环向上滚动效果,Jquery实现无缝向上循环滚动列表的特效

效果呈现整个列表间隔设定的时间向上移动一个item的高度html结构:title1title2title3item1item1item1item2item2item2item2item2item2实现思路:获得js-slide-list下第一个li元素的高度,对它的height或marginTop进行一个从有到无的动画变化,代码如下:var doscroll = function(){var $p...

weixin_39935092的博客 491

基于51单片机的电子记分牌的设计

基于51单片机的电子记分牌的设计 电子记分牌基于51单片机的电子记分牌的设计摘要1 引言2 总体设计方案2.1 设计思路(1)设计要求(2)设计思路(3)设计方案2.3综合设计方框图(1)硬件设计框图(2)软件设计3 设计原理分析3.1 电源、复位、下载电路的设计(见图1、2、3)3.2 时钟电路的设计3.3 矩阵键盘电路的设计3.4 数码管显示电路设计4程序代码 摘要 本设计为电子记分牌设计,是以STC89C52芯片为核心,辅以必要电路设计进行的。用4位LED七段数码管显示比赛两方的分数(每方分数用2位

行走的皮卡丘 2037

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

web复习(三):js实现公告栏效果,间歇性滚动展示

使用js实现:公告栏间歇性展示效果:思想,使用js操作,ul的scrollTop,并配合setTimeout和setInterval实现循环间歇滚动代码:如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

都市桃源 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

HTML-间歇循环滚动

实现滚动播放 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8"/&gt; &lt;title&gt; 间歇循环滚动&lt;/title&gt; &lt;style&gt; #box{ height:240px; width:300px; marg

@point 1194

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

公示栏滚动js

公示栏滚动是指在网页上通过JavaScript来实现公示栏内容的滚动效果。可以使用JavaScript的setInterval()函数来实现定时循环滚动。 示例代码: <div id="announcement"> <ul> <li>公告1</li> <li>公告2</li> <li>公...

weixin_42610671的博客 181

html自动切换下一题,公告栏自动切换.html

公告栏切换#newslist {background: #f8f8f8;border: 1px solid silver;padding: 1px;height: 20px;line-height: 20px;width: 288px;}#contain {font-size: 12px;overflow: hidden;list-style: none;width: 288px;height: ...

weixin_34335039的博客 308

html折叠的公告栏,纯html上下翻滚效果公告板

循环停顿上下滚动#block2{height:23px;width:500px;border:#ccc 1px solid;font-size:12px;text-align:center;}#block2 ul{list-style:outside none none;height:17px;padding:3px 0;overflow:hidden;margin:0;}#block2 ul l...

weixin_28559803的博客 1025

公告栏文字上下滚动效果

var textRoll=function(){ var length = $('.jcPrice1 ul li').length; if(length>=4){ $('.jcPrice1 ul li:last') .css({'marginTop':'0rem','opacity': '0'}) .insertBefore('.j

JINQINGS的博客 3539

公告栏文本横向循环滚动

动画、js两种方式实现公告栏文本横向循环滚动

weixin_42230222的博客 1714

html5轮播 最新公告栏,如何用vue实现上下轮播公告栏,文字溢出时也能轮播

在网上搜到了相关代码,可是有个需求是如果文字溢出时也需要换行轮播,请问如何实现,现在的这个实现不了。。。只会一闪而过最新战报div, ul, li, span, img {margin: 0;padding: 0;display: flex;box-sizing: border-box;}.marquee {width: 100%;height: 50px;align-items: center;...

weixin_35718575的博客 513

jQuery实现滚动公告栏特效

效果:HTML:&lt;span class="new-notice"&gt;最新公告:&lt;/span&gt; &lt;div class="notice"&gt; &lt;ul&gt; &lt;li&gt; &lt;a href="#"&gt;&lt;span&gt;2018-5-31&lt;/span&

捕鱼麦大叔的博客 8127

11行代码实现滚动公告栏

使用JavaScript&amp;jQuery 效果图:   首先看HTML结构,css样式这里不再给出 &lt;div class="book_class"&gt; &lt;div id="dome"&gt; &lt;div id="dome1"&gt;

weixin_42886104的博客 6716

Web 版翻译者资料库

本项目是桌面版《翻译者资料库》的 Web 移植版,基于 Spring Boot 3.3、Thymeleaf、Bootstrap 5.3 与 MySQL 8.0 构建。它面向翻译写作提供资料、词汇、句库、文本工具、对照制作、查找、备份恢复及旧库迁移等功能,完整继承桌面版核心业务规则,支持一键启动与离线访问。

howard2005的专栏 147
上一篇: 纯JS控制DIV选择范围移动与复制
下一篇: 纯JS控制DIV选择范围移动与复制 改进版
pippe
博客等级 码龄19年 22粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值