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;
}
分享到:
相关推荐
`<marquee>`是HTML4的一个非标准标签,但在HTML5中已被废弃,因此使用JavaScript实现这种效果更加现代且兼容性更好。 首先,我们需要理解`<marquee>`的基本用法。在HTML中,`<marquee>`标签用于创建一个持续滚动的...
通过以上步骤,我们就可以用JavaScript实现类似marquee的滚动效果。这种方式不仅提供了更多的定制选项,而且更符合现代网页开发的最佳实践。不过,要注意在实际项目中,应尽量避免过度依赖JavaScript,因为对于那些...
通过JavaScript实现的无缝滚动相比`<marquee>`标签有更高的灵活性和控制性,可以适应不同的布局和滚动效果。这种技术可以应用于网站的广告栏、滚动新闻、产品展示等多个场景,提升用户界面的动态效果和交互体验。
在提供的代码示例中,通过JavaScript结合CSS实现了一个类似`<marquee>`标签的无缝循环滚动效果。 - **关键代码解析**: - **CSS样式**:定义了滚动区域的背景颜色、溢出隐藏、宽度和高度等样式。 - **HTML结构**...
Marquee标签一直以来都被W3C排斥,而且,屁股后...所以,俺就做了个支持多个实例,兼容性好的替代品(其实是一年前做的...),虽然没什么技术含量,可是简单实用,只要简简单单的四步就能实现Marquee替代无间滚动效果。
在HTML和JavaScript中,都有实现marquee效果的方法。在这个主题中,我们将深入探讨如何利用jQuery这个强大的JavaScript库来创建marquee效果。 jQuery是一个轻量级、高性能的JavaScript库,它极大地简化了JavaScript...
jQuery Marquee是基于流行的JavaScript库jQuery的一款插件,它提供了一种简单的方式来实现元素的自动滚动效果,支持自定义速度、方向、暂停和恢复等操作。其主要目标是为开发者提供一个易于使用且功能丰富的解决方案...
标题 "IE 展示 上下滚动 实现Marquee机制" 暗示了我们要讨论的是在Internet Explorer浏览器中实现一种类似电视新闻滚动字幕的效果,通常这种效果被称为Marquee(滚动条)。Marquee元素在HTML中用于创建一个可以自动...
在本文中,我们将深入探讨如何使用JavaScript(JS)与HTML中的`<marquee>`标签结合,来实现一个无缝滚动效果。`<marquee>`标签在HTML中被用来创建元素(如文字或图像)的滚动效果,而通过JavaScript,我们可以对其...
在本文中,我们将深入探讨如何使用JavaScript实现一个无缝循环的marquee滚动效果,该效果兼容主流浏览器,包括IE、Firefox和Chrome。Marquee滚动是一种常见的网页动态效果,它能使页面内容像滚动字幕一样从一端移动...
需要注意的是,虽然`<marquee>`在许多浏览器中仍然可用,但它并不是一个W3C推荐的标准标签,因此在现代Web开发中,更推荐使用JavaScript库或CSS动画来实现类似的效果,如jQuery的`slideUp`和`slideDown`,或者使用...
### MARQUEE 元素与Marquee对象详解 ...值得注意的是,虽然MARQUEE元素在早期网页设计中非常流行,但由于其局限性和对用户体验的影响,现代Web开发中更倾向于使用CSS动画或JavaScript来实现类似的效果。
这里主要讨论如何通过JavaScript实现向左、向右、向上、向下四个方向的滚动效果。 1. **向左/向右无缝滚动**: - 首先,我们需要创建一个包含滚动内容的容器,并设置合适的宽度,以便内容可以完全显示。 - 使用...
标题提到的"推荐通用文字图片JS不间断滚动封装类 代替Marquee",就是一种利用JavaScript实现的动态效果,它旨在为文字和图片提供一种类似传统的Marquee(滚动条)效果,但更加灵活且易于使用的解决方案。Marquee是...
Marquee-js是一个JavaScript库,专门用于实现网页中的滚动效果,类似于传统的HTML marquee标签,但提供了更高级的功能和自定义选项。在网页设计中,滚动效果可以用来吸引用户的注意力,通常用于显示滚动新闻、公告...
本文将重点介绍如何使用JavaScript实现marquee的无缝隙循环效果,特别是解决常见的三个问题:不符合W3C标准、代码移植性差以及动态添加图片时的局限性。 #### 二、背景与挑战 ##### 1. HTML不符合W3C的最新标准 ...
JavaScript 实现网页动态效果 JavaScript 是一种网页脚本语言,用于开发基于客户端和服务器的 Internet 应用程序,旨在使网页开发人员能够对网页的功能进行管理和控制。JavaScript 代码可以嵌入到 HTML 文档中,...
Marquee元素在网页设计中常被用来实现类似LED广告文字滚动的效果,它允许文本或内容在页面上持续滚动,从而吸引用户的注意力。这个压缩包文件"demoMarquee"提供了这样一个功能,用户可以自定义滚动速度、方向、文字...
### 使用JavaScript实现替代Marquee的滚动字幕效果 随着Web技术的发展与用户对网页体验要求的提高,传统的`<marquee>`标签因其诸多不足而逐渐被淘汰。为了更好地满足用户需求和提升网页质量,使用JavaScript来实现...
### Marquee标签详解及其应用 #### 一、Marquee标签简介 `<marquee>` 是一个HTML中的非标准标签,...然而,考虑到其局限性和可能的安全问题,建议在现代网页设计中采用CSS3动画或JavaScript等替代方案实现类似效果。