JS上下无缝滚动效果:
可自定义每次滚动的px量,滚动的方向(上或者下),滚动速度。
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>scrollTop测试示例</title>
<style>
<!--
#out {
width:200px;
height:80px;
border:solid 1px blue;
overflow:hidden;
}
#in ul {
width: 100%;
}
#in ul li {
width: 60%;
float: left;
overflow: hidden;
list-style: none;
}
-->
</style>
</head>
<body>
<div id="out">
<div id="in">
<ul>
<li>第1行</li>
<li>第2行</li>
<li>第3行</li>
<li>第4行</li>
<li>第5行</li>
</ul>
<div style="clear: both;"></div>
</div>
</div>
</body>
</html>
在body中插入如下JS代码:
<script type="text/javascript">
var $ = function(id) {
return "string" == typeof id ? document.getElementById(id) : id;
};
// 实例化一个对象并调用对象的initialize方法
var Class = {
create : function() {
return function() {
this.initialize.apply(this, arguments);
};
}
};
// 为Object添加一个extend方法
Object.extend = function(destination, source) {
for ( var property in source) {
destination[property] = source[property];
}
return destination;
};
// 为对象注册事件
var addEventHandler = function(oTarget, sEventType, fnHandler) {
if (oTarget.addEventListener) {
oTarget.addEventListener(sEventType, fnHandler, false);
} else if (oTarget.attachEvent) {
oTarget.attachEvent("on" + sEventType, fnHandler);
} else {
oTarget["on" + sEventType] = fnHandler;
}
};
var Scroll = Class.create();
Scroll.prototype = {
initialize : function(outObj, inObj, options) {
var oScroll = this;
var iOut = $(outObj);
var iIn = $(inObj);
this.outHeight = iOut.offsetHeight;
this.inHeight = iIn.offsetHeight;
if (this.outHeight >= this.inHeight) return;
iOut.style.overflow = "hidden";
iIn.appendChild(iIn.cloneNode(true));
this.setOptions(options);
this.outObj = iOut;
this.timer = null;
this.side = 1; // 1:向上;2:向下
switch(this.options.side) {
case "down" :
this.side = -1;
break;
case "up":
default:
this.side = 1;
}
addEventHandler(iIn, "mouseover", function() {oScroll.stop();});
addEventHandler(iIn, "mouseout", function() {oScroll.start();});
this.start();
},
setOptions : function(options) {
this.options = {
step : 1, // 每次滚动的px量
side : "up", // 滚动的方向
time : 10 // 滚动的间隔时间(滚动速度)
};
Object.extend(this.options, options || {});
},
scroll : function() {
var inHeight = this.inHeight, outHeight = this.outHeight, iStep = this.options.step * this.side, time = this.options.time;
var iScrollTop = this.outObj.scrollTop;
if (iScrollTop >= (inHeight * 2 - outHeight)) {
iScrollTop -= inHeight;
} else if (iScrollTop <= 0) {
iScrollTop += inHeight;
}
this.outObj.scrollTop = iScrollTop + iStep;
var oScroll = this;
this.timer = setTimeout(function() {oScroll.scroll();}, time);
},
start : function() {
this.scroll();
},
stop : function() {
clearTimeout(this.timer);
}
};
window.onload = function() {
new Scroll("out", "in", {step : 1, side : "up", time : 20});
};
</script>
分享到:
相关推荐
JS上下无缝滚动效果JS上下无缝滚动效果JS上下无缝滚动效果
为了提供更好的用户体验,可以采用JavaScript(js)来实现表格的无缝滚动效果,让表格像一个无边界的容器一样平滑滚动。这种效果在大数据量的展示或者长表格中尤其有用,它能让用户更容易地浏览和查找信息。 首先,...
至此,一个简单的公告上下无缝滚动效果就实现了。如果你希望实现高度不一致的无缝滚动,那么需要对每个公告项单独处理,这涉及到更复杂的计算和动画调整,可能需要使用CSS3的`transform`属性和JavaScript的定时器来...
本段代码展示了一个利用JavaScript实现的无缝上下滚动效果,同时在达到特定高度时会暂停一段时间。这种效果常见于网站中的滚动广告条或者新闻滚动区域等场景,能够有效吸引用户的注意力,提高用户体验。 ### 二、...
基于给定文件内容,以下是关于javascript实现上下无缝滚动效果的知识点: 1. 无缝滚动效果的概念 无缝滚动是指在网页中实现的一种滚动效果,内容列表在到达一定位置后可以连续无间断地循环滚动。这种效果常用于网站...
以上就是使用原生JavaScript实现图片上下无缝滚动的基本方法。通过结合HTML、CSS和JavaScript,我们可以创建出一个动态、流畅的滚动效果,为网页增添更多趣味性和交互性。在实际应用中,还可以根据项目需求进行...
在网页设计中,图片的上下无缝滚动效果可以增加视觉吸引力,为用户提供更丰富的浏览体验。这种效果常见于网站的轮播图或者背景滚动中,能够使多张图片连续、平滑地展现,给用户带来连续不断的感觉。 要实现JS控制...
JavaScript 上下无缝图片滚动是一种常见的网页动态效果,用于展示一系列图片,给用户带来更丰富的视觉体验。这种技术常被应用于产品展示、轮播广告或图片画廊等场景,如糯米网的产品展示。在这个效果中,图片会按照...
1. **JavaScript基础**:无缝滚动效果主要依赖JavaScript来实现,这是一种客户端脚本语言,用于增强网页的交互性。在浏览器环境中,JavaScript可以动态修改HTML和CSS,实现各种动态效果。 2. **DOM操作**:...
2. **无缝滚动**:通过调整`<marquee>`的属性,如`scrollamount`(滚动速度)、`direction`(滚动方向)和`loop`(循环次数),可以实现无缝滚动效果。使用JavaScript库或插件可以更好地控制这些参数,以实现更流畅...
本文将详细讲解如何使用jQuery实现一个广告上下无缝滚动的效果,其中每个广告的高度可以不一致,提供更高的灵活性。 首先,我们需要了解`marquee`标签。在HTML中,`<marquee>`是一个非标准但广泛使用的元素,用于...
无缝滚动的核心在于通过JavaScript控制图片在视觉上形成连续的滚动效果,即使图片在用户视线中“消失”后,立即加载下一张图片,使滚动过程看起来没有中断。这主要通过设置合适的定时器、计算图片的位置变化以及动态...
4. **js** - 这个文件夹可能包含了实现无缝滚动效果的JavaScript源代码。可能有一个或多个.js文件,比如一个主函数文件和可能的辅助函数或库。 这个资源包的使用方法可能包括打开`index.html`在浏览器中查看效果,...
**jQuery文字上下无缝滚动** 在网页设计中,为了吸引用户的注意力或者展示大量信息,我们经常需要使用滚动效果。"jQuery文字上下无缝滚动"是一种常见的网页动态效果,它可以使文字或内容在页面上持续滚动,给予用户...
无缝滚动效果主要涉及以下几个核心知识点: 1. **JavaScript基础**:首先,你需要掌握JavaScript的基础语法,包括变量声明、数据类型、控制流程(如if语句、for循环)以及函数的使用。这是编写任何JavaScript代码的...
在本文中,我们将深入探讨如何使用JavaScript实现文字的无缝滚动效果,并且能够控制滚动的方向,包括上下左右四个方向。这种效果常用于网站头部新闻滚动、公告展示等场景,能够有效地吸引用户的注意力。 首先,我们...
JavaScript(简称JS)轮播无缝滚动是一种常见的网页动态效果,常用于展示图片、文本或其它内容,以有限的空间展示无限的信息。这种技术可以为用户提供更丰富的交互体验,使其能够在不离开当前页面的情况下浏览多张...
在网页设计中,动态效果是吸引用户注意力的重要手段之一,其中文字上下无缝滚动的效果尤其常见。这种效果使得页面上的文字信息能持续流动,为用户提供一种动态的阅读体验。本篇文章将详细探讨如何使用纯JavaScript来...