随滚动条滚动而滚动的层的实例:
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<div id="oLayer" style="position:absolute;left:30;top:60;z-index:2;background:green;width:120px;height:70px">
</div>
<script language="javascript">
document.write(new Array(100).join("<br>"))
var init_pos=document.getElementById('oLayer').style.posTop ;
document.body.onscroll=function(){
document.getElementById('oLayer').style.posTop=document.body.scrollTop+init_pos ;
}
</script>
</BODY>
</HTML>
这里要强调一下
一、 在页面中加一个随着页面滚动条滚动的小图片广告,发现document.body.scrollTop
这个属性在本地的时候能取到值,但是传到服务器上的时候取到的值一直不变,其解决方案有如下2种:
<1> 原来在HTML文件头部声明了这样一句:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
改成这样就好了:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
但是W3c的标准的引用,样式会发生变化。
<2>将document.body.scrollTop改为document.documentElement.scrollTop;
二、我使用的是IE7,实施很正常,可是当在IE6里面时,window.document.body.onscroll在我的IE6览器里根本就不触发,所以这又是一个新问题了,在网上找了找其原因及解决办法如下:
其原因还是和DOCTYPE声明有关,<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">,这个DOCTYPE声明是不会触发window.document.body.onscroll事件的,那如果再改变DOCTYPE声明的话又会影响到页面的CSS,所以此方法是不可行的,下面还有两种解决办法:
<1>使用setInterval或者setTimeout来不停的改变这个浮动层的位置;(这个方法很占资源,在不得以的情况下使用)
<2>CSS属性值position的fixed属性让该层能够始终位于窗口的指定位置;(该方案看起来挺美,可惜IE并不支持。不过在FireFox中的效果的确不错。正如文章在所说"从显示效果来看,在Firefox上的显示效果比IE中通过onscroll触发层的位置移动处理显示效果要好很多,看不到层的闪动。")
相关资料:
CSS positionfixed; for IE6
http://www.cssplay.co.uk/layouts/fixed.html
在下暂时还是使用了第一个方案...,具体实例如下:
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<div id="floatLayout" style="position:absolute;left:30;top:60;z-index:2;background:green;width:120px;height:70px">
</div>
<script language="javascript">
document.write(new Array(100).join("<br>"))
var init_pos=document.getElementById('floatLayout').style.posTop ;
function displaytopleft(){
cHeight = document.body.clientHeight;// 頁面的實際高度
var nowTop = 0;
//ie5.5之后已经不支持document.body.scrollX对象了,所以要看其ie版本
if (document.body && document.body.scrollTop)
{
nowTop=document.body.scrollTop;
}
if (document.documentElement && document.documentElement.scrollTop)
{
nowTop=document.documentElement.scrollTop;
}
lTop = nowTop+init_pos;
if(cHeight > lTop){
document.getElementById('floatLayout').style.posTop=lTop ;
}
}
function topleft()
{
//使用setInterval或者setTimeout来不停的改变这个浮动层的位置
window.setInterval("displaytopleft()",10);
}
topleft();
</script>
</BODY>
</HTML>
2、漂浮窗口的实现实例:
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<div id="floatLayout" style="position:absolute;z-index:1000;background:green;width:120px;height:70px">
</div>
<script language="javascript">
<!-- // Begin
var xPos = 800; //開始時浮動層left:800px
var yPos = 450; //開始時浮動層top:450px
var step = 1;
var delay = 20;
var height = 0;
var Hoffset = 0;
var Woffset = 0;
var yon = 0;
var xon = 0;
var pause = true;
var interval;
floatLayout.style.top = yPos;
function changePos() {
width = document.body.clientWidth;
height = document.body.clientHeight;
Hoffset = floatLayout.offsetHeight;
Woffset = floatLayout.offsetWidth;
floatLayout.style.left = xPos + document.body.scrollLeft;
floatLayout.style.top = yPos + document.body.scrollTop;
if(yon){
yPos = yPos + step;
}
else{
yPos = yPos - step;
}
if(yPos < 0){
yon = 1;
yPos = 0;
}
if(yPos >= (height - Hoffset)){
yon = 0;
yPos = (height - Hoffset);
}
if(xon){
xPos = xPos + step;
}
else{
xPos = xPos - step;
}
if(xPos < 0){
xon = 1;
xPos = 0;
}
if(xPos >= (width - Woffset)){
xon = 0;
xPos = (width - Woffset);
}
}
function start() {
floatLayout.visibility = "visible";
interval = setInterval('changePos()', delay);
}
start();
// End -->
</script>
</BODY>
</HTML>
分享到:
相关推荐
仿MAC苹果系统跟随滚动条飘浮网页下方的菜单,超酷,美观大方。
在网页设计中,"飘浮的div层"是一种常见的技术,用于创建能在用户滚动页面时保持固定位置的元素。这种效果常被用作广告、侧边栏导航或通知区域,以便始终保持可见,无论用户浏览页面的哪个部分。在这个场景中,"xxd_...
接下来,我们将使用JavaScript来监听窗口滚动事件,并根据滚动位置调整广告图片的位置,使其始终固定在屏幕的某个角落。这通常通过`window.onscroll`事件实现: ```javascript window.onscroll = function() { var...
【标题】:“带关闭的飘浮广告条” 飘浮广告是一种常见的在线营销策略,它以浮动的方式出现在网页的边缘或角落,吸引用户的注意力。这种广告形式通常设计为可移动或可关闭,以便用户在需要时可以将其移开,从而不...
### 飘浮、对联及悬浮广告代码详解 #### 一、背景介绍 随着互联网技术的发展,网页设计越来越注重用户体验与广告展示效果之间的平衡。其中,“飘浮”、“对联”以及“悬浮”广告因其独特的展示方式和较好的用户体验...
在网页设计中,飘浮广告(Floating Ad)是一种常见的在线广告形式,它可以在用户浏览页面时始终固定在屏幕的某个位置,甚至跟随用户的滚动而上下移动。这种广告设计旨在提高广告的可见性和点击率,因为它总是保持在...
用CSS和Javascript实现的DIV遮照飘浮层 通过点击按钮显示半透明遮盖层以及信息层 用CSS实现的固定飘浮,以及用Javascript实现的定位飘浮 用VS2008打开后直接运行UserShowPanelTest.aspx的效果是CSS实现的效果,要实现...
- 定位和飘浮:通过监听滚动事件,动态调整客服窗口的位置,使其始终保持在屏幕右侧。 - 自定义位置:允许开发者通过配置参数来设置客服窗口的具体位置,比如距离顶部的距离等。 - 与QQ接口的交互:这部分可能...
在互联网营销领域,飘浮广告(Floating Ads)是一种常见的在线广告形式,它们可以在网页的某个固定位置或沿着页面滚动而动态移动,以吸引用户的注意力。本文将深入探讨飘浮广告的实现原理、代码结构以及如何利用提供...
在Windows应用程序开发中,"悬浮窗口"是一种特殊类型的窗口,它总是在其他窗口之上显示,即使用户切换到其他程序或窗口,悬浮窗口也会保持在最前面。这种效果常见于即时通讯软件、下载工具如迅雷等,为用户提供持续...
飘浮广告通常是一些动态的图像或小窗口,它们会随着用户滚动页面而始终保持在屏幕的一侧或某个固定位置。下面将详细介绍如何在Adobe Dreamweaver中创建这种效果。 首先,打开Dreamweaver并创建一个新的HTML文档。在...
这类广告目前网上仍然存在,飘浮在网页上,随网页滚动条的滚动自动固定在某一位置,并可允许用户关掉广告,一般常见于各大门户网站、新闻网站中。本广告代码原型为新浪首页左侧流媒体浮动图标广告代码,经开源爱好者...
这种广告通常会悬浮在网页的某个角落,或者随着用户滚动页面而移动,始终保持在屏幕可见范围内。飘浮广告可以是图片、动画、文字或其他互动元素,它们的目的在于提高广告的曝光率和点击率。 描述提到了一个名为...
综上,"FloatText"项目是一个利用Win32 API实现的透明窗口文字飘浮效果,涉及到了Windows编程的基本概念和技术,如窗口创建、透明度设置、GDI绘图以及动态效果的实现。对于学习Windows编程和底层图形处理的开发者来...
标题中的“飘浮窗体”通常是指一种特殊的用户界面元素,它可以在用户的屏幕上自由移动,类似于桌面小工具或通知窗口。这种窗体在各种应用程序中都有应用,比如系统托盘图标弹出的设置窗口、软件的浮动预览窗口等。在...
这种广告通常会以图片、动图或者视频的形式出现在网页的角落,随着用户滚动页面而保持在屏幕的固定位置。本资源提供的“飘浮广告代码”是一套简单易用的解决方案,适用于网页开发者进行参考和学习。 飘浮广告的实现...
在互联网营销领域,图片飘浮广告是一种常见的网页广告形式,它们通常以图片或者动画的形式出现在网页的特定位置,如页面边缘、角落或者悬浮在页面内容之上。这些广告能够吸引用户的注意力,提高品牌曝光率和点击率。...
无论是改变浏览器窗口大小还是下拉滚动条,这个弹出层都能始终保持居中;点击页面的关闭按钮,弹出层消失,页面恢复原样。 这里借鉴之前的一篇文章《基于jQuery的固定飘浮层》,使弹出窗口可以始终固定在浏览器的正...
这种技术通常基于HTML、CSS和JavaScript实现,以确保广告元素能够随着用户滚动页面而保持固定位置。下面我们将深入探讨这个主题,包括必要的HTML结构、CSS样式和JavaScript实现。 1. **HTML结构**: 在HTML文件中...
【jQuery仿QQ空间鼠标悬停上下滚动预览】 在网页设计中,为了提供更好的用户体验,开发者经常需要实现一些动态效果,比如鼠标悬停时显示预览。"jQuery仿QQ空间鼠标悬停上下滚动预览"就是一个这样的功能,它模仿了QQ...