js的marquee标签,可以实现元素循环滚动,但是不能无缝连接,要实现“无缝滚动”的效果必须使用js(借鉴百度),思路是使要滚动元素相对位置不断改变,上下滚动就相对top或者bottom,左右滚动就是left或者right,接下来是实现方法:实现li标签上下无缝滚动

  废话少说,粘贴代码,可以直接运行。

                    
<!DOCTYPE html>
<html>
  <head>
    <title>测试滚动</title>
    <!-- 引入在线Jquery -->
    <script src="http://code.jquery.com/jquery-latest.js"></script>
  </head>
  <style>
    #marquee li {
    height: 30px;
   }
  </style>
<body>
  <div style="height:180px;overflow:hidden;">
    <div id="marquee">
      <li>
        <span>1.水规院自动化码头设计关键技术研究工作交流会顺利召开</span>
      </li>
      <li>
        <span>2.巨型通航建筑物通航标准体系研究</span>
      </li>
      <li>
        <span>3.中交集团跃居世界500强第210位</span>
      </li>
      <li>
        <span>4.中交股份获评多项长江口深水航道治理工程建设先进</span>
      </li>
      <li>
        <span>5.海南省与中交股份将全方位合作</span>
      </li>
      <li>
        <span>6.长江船舶设计院获中国标准创新贡献一等奖</span>
      </li>
    </div>
  </div>
</body>
<script>
  window.onload = function () {
    scrolldiv();
    // 鼠标停留,离开
    $("#marquee").mouseenter(function () {
      window.clearInterval(timename);
   });
    $("#marquee").mouseleave(function () {
      timename = setInterval("doScroll()", 50);
});
}
  var marquee = document.getElementById("marquee");
  var offset = 0;
  var scrollheight = marquee.offsetHeight;
  var length = marquee.children.length;
  function scrolldiv() {
    // 不可见处增加同等数量的li元素,模拟无缝连接(实际应该最上面li元素
    // 滚动到不可见之后,删除最上面li元素,再给div末尾添加删除的li元素)
    for (vari = 0; i < length - 1; i++) {
      var node = marquee.children[i].cloneNode(true);
      marquee.appendChild(node);
  }
    // 执行滚动,利用margin-top
    timename = setInterval("doScroll()", 50);
}
  function doScroll() {
    if (offset == scrollheight) {
      offset = 0;
}
    marquee.style.marginTop = "-" + offset + "px";
    offset += 1;
}
</script>
</html>

核心思路:1.增加可见高度的元素(appendChild)。

        2.定时刷新margin-top使div上移模拟滚动。

以上技术参考其他人,如有侵权,欢迎来电。

 

替换"marquee",实现无缝滚动的更多相关文章

  1. marquee横向无缝滚动无js

    <!DOCTYPE html><html><head><meta charset="utf-8"> <title>< ...

  2. marquee上下无缝滚动

    <!DOCTYPE html><html><head><meta charset="utf-8"><meta name=&qu ...

  3. marquee图片无缝拼接滚动

    marquee图片无缝滚动 先了解一下对象的几个的属性: innerHTML:     设置或获取位于对象起始和结束标签内的 HTML scrollHeight: 获取对象的滚动高度. scrollL ...

  4. JS 在 HTML 无缝滚动

    marquee图片无缝滚动先了解一下对象的几个的属性:innerHTML: 设置或获取位于对象起始和结束标签内的 HTMLscrollHeight: 获取对象的滚动高度.scrollLeft: 设置或 ...

  5. marquee标签实现跑马灯效果--无缝滚动

    今天在做微信端的大转盘抽奖时,想把所有用户的抽奖记录做成无缝滚动的效果,无奈我的js功底太差,一时想不出实现的方法,便百度各种相似效果.但无意中发现了一个html标签——<marquee> ...

  6. vue 自定义marquee无缝滚动组件

    先上效果图: (1) 看起来可能有点卡顿,但是实际上页面上看起来挺顺畅的. (2) 思路就是获取每一个列表的宽度,设置定时器移动列表,当移动的距离达到一个列表的宽度的时候,把这个距离放到数组的最后.这 ...

  7. 信息无缝滚动效果marquee

    横向滚动.纵向滚动 1. 解决滚动的空白 向左向右滚动的话,可以根据父级定位left,每次加或者减可以使物体向左或右运动,用top也可以实现向上或向下运动 上下滚动实现无缝滚动1. innerHTML ...

  8. JQuery的无缝滚动

    图片无缝向左滚动的代码如下:   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  9. JS 阶段小练习~ 无缝滚动

    结合下学了的知识,做个模拟的综合性扩展练习~~  大致功能如下: 1.点开html后,图片自动移动展示 2.点击左右方向,可以改变 图片移动的方向(改变left的值,正负) 3.鼠标移入移出图片后,图 ...

随机推荐

  1. Spring基础(二)

    一.使用注解配置Spring 1.1步骤 --配置文件中,指明注解位置 --要用的地方打上注解 --改对象的作用范围(修改掉默认的单例,变多例) --属性的注入(两种) 使用的反射实现 set方法实现 ...

  2. eclipse中的项目运行时不出现run as→java application选项

    eclipse中的运行java project时不出现run as→java application选项? 解决方案☞必须有正确的主方法,即public static void main(String ...

  3. git基础命令详解

    一些必须要知道的概念 git的三个工作区域:工作目录.暂存区.git仓库. 工作目录:其实就是本地文件磁盘上的文件或目录: 暂存区:是一个文件,保存了下次提交的文件列表信息,一般在git仓库目录中: ...

  4. oracle弱口令攻击

    oracle弱口令攻击   0x00 oracle数据库简介 oracle数据库是现在很流行的数据库系统,很多大型网站都采用Oracle,它之所以倍受用户喜爱是因为它有以下突出的特点: 一.支持大数据 ...

  5. 同一台机上配置多个redis服务

    "D:\Program Files\Redis\redis-server.exe" --service-run F:Redis2\redis.windows-service6380 ...

  6. go-defer语句

    Go语言中的defer语句也非常独特. defer语句仅能被放置在函数或方法中. 它由关键字defer和一个调用表达式组成. 调用表达式所表示的既不能是对Go语言内建函数的调用 也不能是对Go语言标准 ...

  7. API设计中防重放攻击

    HTTPS数据加密是否可以防止重放攻击? 否,加密可以有效防止明文数据被监听,但是却防止不了重放攻击. 防重放机制 我们在设计接口的时候,最怕一个接口被用户截取用于重放攻击.重放攻击是什么呢?就是把你 ...

  8. java-反编译工具(luyten)

    下载地址:https://github.com/deathmarine/Luyten

  9. Spring Boot入门(二):获取配置文件值

    本篇博客主要讲解下在Spring Boot中如何获取配置文件的值. 1. 使用yaml配置文件 Spring Boot默认生成的配置文件为application.properties,不过它也支持ya ...

  10. 基于Opentracing+Jaeger全链路灰度调用链

    当网关和服务在实施全链路分布式灰度发布和路由时候,我们需要一款追踪系统来监控网关和服务走的是哪个灰度组,哪个灰度版本,哪个灰度区域,甚至监控从Http Header头部全程传递的灰度规则和路由策略.这 ...