`
will-vip
  • 浏览: 40919 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

js实现marquee类似效果

阅读更多

css:

#timerSliding {
    overflow: hidden;
    width: 320px;
    height: 430px;
    position: relative;
    margin-left: 30px;
    vertical-align: top;
}

 

#timerSliding_content {
 font-size: 12px;
 color: #f0f0f0;
 width: 320px;
 word-wrap: break-word;
 overflow: hidden;
 position: absolute;
 vertical-align: top;
}

 

 

html:

<div id='timerSliding'>
     <div id="timerSliding_content" style="top: 0px;" onmousemove="setStopped();" onmouseout="setStart();">
                     输入滚动的文字。

     </div>
</div>

 

 

js:

var tm_intervalTime = 50;
var tm_speed = 10;
var tm_intervalId;
var move_span = 0;
var stopped = false;
var contentHeight = 0;
var times = 0;
var curHeight = 0;
var curDiv = 0;
       
function Page_Onload() {
 var content = document.getElementById('timerSliding_content');
 // var scontent = document.getElementById('timerSliding_seconde_content');
 //content.innerHTML = content.innerHTML + content.innerHTML;
 if(content) {
  contentHeight = parseInt(content.clientHeight);
  times = contentHeight / 430;
  if(times <= 1) {
   return;
  }
  content.style.position = 'absolute';
  content.style.top = '0px';
  curHeight = 0;
  curDiv = 0;
  stopped = false;
  window.setInterval(AfterBraek, 8000);
 }
}

function AfterBraek() {
 if(stopped)
  return;

 if(tm_intervalId) {
  return;
 }
 var content = document.getElementById('timerSliding_content');
 if(content) {
  var top = parseInt(content.style.top);
  if (top < (430 - contentHeight)) {
   content.style.top = '430';
   curDiv = 0;
   curHeight = 430;
  } else {
   var divs = content.getElementsByTagName("div");
   curHeight = 0;
   if(divs && divs.length > 0) {
    if(divs.length <= curDiv) {
     curDiv = 0;
    }
    while(curDiv < divs.length) {
     curHeight += divs[curDiv].offsetHeight;
     if(curHeight > 430) {
      curHeight -= divs[curDiv].offsetHeight;
      break;
     }
     curDiv++;
    }
   }
   //alert("curHeight:" + curHeight);
  }
  
  move_span = 0;
  tm_intervalId = window.setInterval(TM_Sliding_OnTime, tm_intervalTime);
 }
}

function TM_Sliding_OnTime() {
 if(stopped)
  return;
 var content = document.getElementById('timerSliding_content');
 var top = parseInt(content.style.top);
 if((move_span + tm_speed) > curHeight) {
  top = top - curHeight + move_span;
  move_span = curHeight;
 } else {
  top = top - tm_speed;
  move_span += tm_speed;
 }
 content.style.top = top + 'px';

 if (move_span >= curHeight) {
  window.clearInterval(tm_intervalId);
  move_span = 0;
  tm_intervalId = null;
 }
}

function setStopped() {
 if(!stopped)
  stopped = true;
}

function setStart() {
 if(stopped)
  stopped = false;
}

分享到:
评论

相关推荐

    javascript js仿marquee标签的走马灯效果.zip

    `&lt;marquee&gt;`是HTML4的一个非标准标签,但在HTML5中已被废弃,因此使用JavaScript实现这种效果更加现代且兼容性更好。 首先,我们需要理解`&lt;marquee&gt;`的基本用法。在HTML中,`&lt;marquee&gt;`标签用于创建一个持续滚动的...

    用javascript模拟marquee实现滚动.htm

    通过以上步骤,我们就可以用JavaScript实现类似marquee的滚动效果。这种方式不仅提供了更多的定制选项,而且更符合现代网页开发的最佳实践。不过,要注意在实际项目中,应尽量避免过度依赖JavaScript,因为对于那些...

    js替代marquee实现图片无缝滚动

    通过JavaScript实现的无缝滚动相比`&lt;marquee&gt;`标签有更高的灵活性和控制性,可以适应不同的布局和滚动效果。这种技术可以应用于网站的广告栏、滚动新闻、产品展示等多个场景,提升用户界面的动态效果和交互体验。

    利用Marquee实现无缝循环滚动文字

    在提供的代码示例中,通过JavaScript结合CSS实现了一个类似`&lt;marquee&gt;`标签的无缝循环滚动效果。 - **关键代码解析**: - **CSS样式**:定义了滚动区域的背景颜色、溢出隐藏、宽度和高度等样式。 - **HTML结构**...

    Marquee替代 -- 无间滚动

    Marquee标签一直以来都被W3C排斥,而且,屁股后...所以,俺就做了个支持多个实例,兼容性好的替代品(其实是一年前做的...),虽然没什么技术含量,可是简单实用,只要简简单单的四步就能实现Marquee替代无间滚动效果。

    marquee效果

    在HTML和JavaScript中,都有实现marquee效果的方法。在这个主题中,我们将深入探讨如何利用jQuery这个强大的JavaScript库来创建marquee效果。 jQuery是一个轻量级、高性能的JavaScript库,它极大地简化了JavaScript...

    jquery.marquee.js官方下载

    jQuery Marquee是基于流行的JavaScript库jQuery的一款插件,它提供了一种简单的方式来实现元素的自动滚动效果,支持自定义速度、方向、暂停和恢复等操作。其主要目标是为开发者提供一个易于使用且功能丰富的解决方案...

    IE 展示 上下滚动 实现Marquee机制

    标题 "IE 展示 上下滚动 实现Marquee机制" 暗示了我们要讨论的是在Internet Explorer浏览器中实现一种类似电视新闻滚动字幕的效果,通常这种效果被称为Marquee(滚动条)。Marquee元素在HTML中用于创建一个可以自动...

    JS与HTML结合使用marquee标签实现无缝滚动效果代码

    在本文中,我们将深入探讨如何使用JavaScript(JS)与HTML中的`&lt;marquee&gt;`标签结合,来实现一个无缝滚动效果。`&lt;marquee&gt;`标签在HTML中被用来创建元素(如文字或图像)的滚动效果,而通过JavaScript,我们可以对其...

    JS实现无缝循环marquee滚动效果

    在本文中,我们将深入探讨如何使用JavaScript实现一个无缝循环的marquee滚动效果,该效果兼容主流浏览器,包括IE、Firefox和Chrome。Marquee滚动是一种常见的网页动态效果,它能使页面内容像滚动字幕一样从一端移动...

    公告滚动动画,从右到左滚动,marquee标签效果

    需要注意的是,虽然`&lt;marquee&gt;`在许多浏览器中仍然可用,但它并不是一个W3C推荐的标准标签,因此在现代Web开发中,更推荐使用JavaScript库或CSS动画来实现类似的效果,如jQuery的`slideUp`和`slideDown`,或者使用...

    MARQUEE 元素 marquee 对象 doc 手册

    ### MARQUEE 元素与Marquee对象详解 ...值得注意的是,虽然MARQUEE元素在早期网页设计中非常流行,但由于其局限性和对用户体验的影响,现代Web开发中更倾向于使用CSS动画或JavaScript来实现类似的效果。

    javascript特效无缝滚动marquee

    这里主要讨论如何通过JavaScript实现向左、向右、向上、向下四个方向的滚动效果。 1. **向左/向右无缝滚动**: - 首先,我们需要创建一个包含滚动内容的容器,并设置合适的宽度,以便内容可以完全显示。 - 使用...

    推荐通用文字图片JS不间断滚动封装类 代替Marquee

    标题提到的"推荐通用文字图片JS不间断滚动封装类 代替Marquee",就是一种利用JavaScript实现的动态效果,它旨在为文字和图片提供一种类似传统的Marquee(滚动条)效果,但更加灵活且易于使用的解决方案。Marquee是...

    Marquee-js

    Marquee-js是一个JavaScript库,专门用于实现网页中的滚动效果,类似于传统的HTML marquee标签,但提供了更高级的功能和自定义选项。在网页设计中,滚动效果可以用来吸引用户的注意力,通常用于显示滚动新闻、公告...

    marquee无缝隙循环

    本文将重点介绍如何使用JavaScript实现marquee的无缝隙循环效果,特别是解决常见的三个问题:不符合W3C标准、代码移植性差以及动态添加图片时的局限性。 #### 二、背景与挑战 ##### 1. HTML不符合W3C的最新标准 ...

    利用JavaScript实现网页动态效果.pdf

    JavaScript 实现网页动态效果 JavaScript 是一种网页脚本语言,用于开发基于客户端和服务器的 Internet 应用程序,旨在使网页开发人员能够对网页的功能进行管理和控制。JavaScript 代码可以嵌入到 HTML 文档中,...

    Marquee仿照LED广告文字滚动

    Marquee元素在网页设计中常被用来实现类似LED广告文字滚动的效果,它允许文本或内容在页面上持续滚动,从而吸引用户的注意力。这个压缩包文件"demoMarquee"提供了这样一个功能,用户可以自定义滚动速度、方向、文字...

    用javascript实现代替marquee的滚动字幕效果代码

    ### 使用JavaScript实现替代Marquee的滚动字幕效果 随着Web技术的发展与用户对网页体验要求的提高,传统的`&lt;marquee&gt;`标签因其诸多不足而逐渐被淘汰。为了更好地满足用户需求和提升网页质量,使用JavaScript来实现...

    Marquee的使用

    ### Marquee标签详解及其应用 #### 一、Marquee标签简介 `&lt;marquee&gt;` 是一个HTML中的非标准标签,...然而,考虑到其局限性和可能的安全问题,建议在现代网页设计中采用CSS3动画或JavaScript等替代方案实现类似效果。

Global site tag (gtag.js) - Google Analytics