今天有个分公司设计师投诉,问题是他在网上找到的js无缝滚动插入页面后,ff只滚动一次就停止了!
开始以为是公司自有产品的js冲突引起的,但是如果将代码插入到页面上方,问题就解决了;插入到页面中部问题就复现了。
经过与代码的激烈拉锯战,最后发现,原来造成这个问题的原因竟然是js里面用到的一个属性值:offsetTop!
代码先上:
<div id="demo" onmouseout="inter=setInterval(qswhMarquee,30)" onmouseover="clearInterval(inter)" style="height: 219px; overflow: hidden;">
<!--此处为滚动原始内容开始-->
<div id="demo1">
<p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p><p>我是内容</p>
</div>
<!--此处为滚动原始内容结束-->
<!--此处为复制内容开始-->
<div id="demo2">
</div>
<!--此处为复制内容结束-->
</div>
<script>
var t=getid("demo"),t1=getid("demo1"),t2=getid("demo2"),sh=getid("show");
var inter;
t2.innerHTML=t1.innerHTML;
function qswhMarquee(){
if(t2.offsetTop<=t.scrollTop)
t.scrollTop-=t1.offsetHeight;
else
t.scrollTop++;
}
inter=setInterval(qswhMarquee,30);
function getid(id){
return document.getElementById(id);
}
</script>
以下为个人理解,如有高手发现有误,请不吝赐教,板儿砖拍轻点儿哟!呵呵呵
offsetTop
1、当元素的父容器没有指定定位方式时,指元素与body元素之间的偏移距离;
2、当对父容器指定定位方式(如:position:relative;)时,则指元素与父容器之间的偏移距离;
所以,当没有指定定位方式时,代码中的t2.offsetTop值已经是元素demo2与body元素之间的偏移距离了。当这部分代码置入页面上方top:0处时,自然没有问题。但是,如果插入到页面下方时,t2.offsetTop值就已经不再是top:0了,自然就出现位移偏差了,以致滚动执行不正确!
网上找了张图,很清晰地指出了元素的类似属性值与区别。提供给大家共勉!哈哈哈
http://hi.baidu.com/kiky_zhang/blog/item/abe314de935e504acdbf1abd.html
- 大小: 18.1 KB
分享到:
相关推荐
本文将深入探讨如何通过JavaScript(简称JS)来实现图片的无缝滚动,旨在为开发者提供一个完整且易于理解的解决方案。 #### 关键概念解析 - **`<marquee>`**:这是一个HTML标签,用于创建自动滚动的文本或图片流,...
本文将详细解析一个具体的JS无缝滚动示例,并解释其工作原理,帮助开发者更好地理解和应用这一技术。 #### 核心知识点: 1. **DOM 操作**:利用JavaScript操作HTML元素,包括获取元素、修改样式和内容。 2. **事件...
总结来说,图片无缝滚动是通过JavaScript实现的一种网页动态效果,它通过巧妙的DOM操作和定时器来模拟连续滚动,为网站增添动态美感,同时提高用户交互体验。理解这一技术的实现原理和优化方法,有助于提升网站的...
为了弥补这一不足,我们可以利用JavaScript来实现图片的无缝滚动效果。 首先,我们需要了解几个JavaScript中与滚动相关的属性: 1. `innerHTML`: 这个属性用于设置或获取元素内部的HTML内容,例如在我们的例子中,...
原生JavaScript实现无缝滚动是一种常见的网页动态效果,它能让页面中的内容在用户视线内不间断地滚动,提升用户体验,尤其适用于新闻列表、轮播图等场景。在这个原型demo中,我们将探讨如何利用JavaScript来创建这样...
JavaScript 无缝滚动动画是一种常见的网页动态效果,常用于展示一系列连续的内容,如图片或文字,以营造出一种平滑连续的滚动视觉体验。在本文中,我们将深入探讨如何使用 JavaScript 来实现这种无缝滚动动画。 ...
本篇文章将详细探讨如何使用纯JavaScript的offset属性来实现一个可改变方向的无缝滚动效果。 首先,我们要理解offset属性的两个关键部分:`offsetTop`和`offsetLeft`。`offsetTop`返回元素距离其最近的定位父元素...
根据给定的文件信息,我们可以深入探讨“js图片无缝滚动代码”的实现原理和技术要点。这段代码展示了一种利用JavaScript实现图片在网页上无缝滚动的方法,适用于创建动态且视觉上连贯的图片滚动效果。 ### 无缝滚动...
本文档提供了一段实现图片无缝滚动的JavaScript代码。该代码能够实现图片在网页上的平滑滚动,包括上下两个方向。这段代码不仅适用于创建动态视觉效果,还能帮助开发者了解基本的DOM操作与JavaScript定时器的使用...
图片无缝滚动就是图片一直不停的滚动,好像没有无穷无尽似的,实际上就是几张图片不停的循环,但是看不出有从最后面切换到最前面的效果,这就是无缝滚动,文字和图片都可以无缝滚动,这里介绍的是图片,文字是同样的...
### 图片无缝滚动技术解析及实现 #### 技术背景与概述 图片无缝滚动是一种常见的网页特效技术,常用于广告轮播、新闻滚动等场景。它通过编程手段实现在页面上图片连续滚动而不出现间断的效果,使得用户体验更加...
根据给定的信息,本文将详细解释“图片无缝滚动(各个方向)”的相关知识点,包括实现原理、关键代码解析以及浏览器兼容性等方面。 ### 一、什么是图片无缝滚动 图片无缝滚动是指在一个限定区域内,通过自动或者...
### 知识点详解:简单实现网页图片无缝滚动 #### 一、背景介绍与应用场景 在Web开发中,为了提高用户体验以及页面的视觉效果,常常会用到动态元素,如图片滚动、文字滑动等。其中,图片无缝滚动是一种常见且实用的...
基于给定文件内容,以下是关于javascript实现上下无缝滚动效果的知识点: 1. 无缝滚动效果的概念 无缝滚动是指在网页中实现的一种滚动效果,内容列表在到达一定位置后可以连续无间断地循环滚动。这种效果常用于网站...
3. **jQuery插件**:对于不熟悉JavaScript的开发者,可以使用jQuery库,如`jQuery.scrollUp`等插件,它们提供了一套完整的解决方案,只需简单的配置即可实现无缝滚动效果。 4. **无限循环**:为了实现"无缝"的效果...
### 核心知识点一:JS实现无缝滚动 #### 1.1 滚动效果的基本原理 在网页设计中,无缝滚动是指在元素滚动到末端时能够自动回到起始位置,从而形成一种连续滚动的效果。本例中主要针对图片列表实现了向上的无缝滚动...
"利用JavaScript制作无缝的连续滚动广告效果" 本文介绍了如何使用JavaScript制作无缝的连续滚动广告效果,实现多行文字从下向上垂直连续不断地滚动,并且当鼠标移到滚动文字上就停止滚动,否则继续滚动。 知识点:...