这是一个跟随滚动条漂浮的JS特效,就是说滚动条滚动而元素相对屏幕位置不变
网上有很多类似的效果,本代码比较起来有如下优点:
1. 兼容IE6.0+ & FF1.5+
2. 使用非常简单,属于菜鸟最爱的那种拿来就能用的,见下面说明
3. 元素之间不会起冲突,一页中可以有n个特效,多元素使用无代码冗余
缺点有:
1. 只能在声明为xHtml的文档中使用
2. 元素最好放在body下
3. 滚动时不可避免的会有闪烁(已经比较轻微,但追求完美者可能觉得不爽)
使用说明:
在页面中引用JS包,然后在需要特效的div上设定class为xScrollStick即可,当然不要忘记给每个元素写上你希望它固定的位置
示例1:
<div class="xScrollStick" style="left:0px;top:0px">
Content...
</div>
示例2:
<div class="xScrollStick positionStyleName">
Content...
</div>
演示:
运行代码框
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
页面由两个个部分组成:
页面文件:
代码拷贝框
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
js:
//<![CDATA[
//********************/
// x 系列之 xScrollStick
// 作者:Hutia
// 未经同意不得转载或用于商业用途
//********************/
/*
说明:
x系列是Hutia开发的系列JS代码,配合相应的css后可以实现快速的自定义标签
目前xScrollStick支持的浏览器类型为:IE5.5, FF1.5
xScrollStick的标签为
<div class="xScrollStick">
Content...
</div>
支持属性:
无
支持方法:
无
*/
//**载入CSS*****
var xScrollStickCssFilePath="sp//css//xframe.css";
//document.write("<style>@import url("+xScrollStickCssFilePath+");</style>");
//**检测浏览器种类*****
var BROWSERNAME="";
switch(navigator.appName.toLowerCase()){
case "netscape":
BROWSERNAME="ns";
break;
case "microsoft internet explorer":
default:
BROWSERNAME="ie";
break;
}
//**设置初始化事件******
switch(BROWSERNAME){
case "ns":
window.addEventListener("load",_xScrollStick_init,false);
break;
case "ie":
window.attachEvent("onload",_xScrollStick_init);
}
//**初始化函数******
function _xScrollStick_init(){
var allTheScrollSticks=document.getElementsByTagName("div");
for(var i=0;i<allTheScrollSticks.length;i++){
if(allTheScrollSticks[i].className.match(/^((xScrollStick)(.+ +xScrollStick)(xScrollStick +.+)(.+ +xScrollStick +.+))$/))_xScrollStick_event_doInit(allTheScrollSticks[i]);
}
window_event_scroll();
}
//**事件响应函数区******
function _xScrollStick_event_doInit(element){
//初始化变量
element.offX=element.offsetLeft;
element.offY=element.offsetTop;
//设置方法
element.Stick=_xScrollStick_method_Stick;
//设置事件
switch(BROWSERNAME){
case "ns":
window.addEventListener("scroll",window_event_scroll,false);
break;
case "ie":
default:
window.attachEvent("onscroll",window_event_scroll);
}
//获取设置
//无
document.body.parentNode.onscroll=window_event_scroll;
}
function window_event_scroll(){
for(var i=0;i<allTheScrollSticks.length;i++){
if(allTheScrollSticks[i].className.match(/^((xScrollStick)(.+ +xScrollStick)(xScrollStick +.+)(.+ +xScrollStick +.+))$/))try{allTheScrollSticks[i].Stick();}catch(e){}
}
}
//**方法函数区******
function _xScrollStick_method_Stick(){
var x=this.offX, y=this.offY, po=this;
this.style.position="absolute";
x+=document.body.parentNode.scrollLeft;
y+=document.body.parentNode.scrollTop;
this.style.left=x+"px";
this.style.top=y+"px";
}
//**通用函数区***
//无
//]]>
分享到:
相关推荐
这是一个跟随滚动条漂浮的JS特效,就是说滚动条滚动而元素相对屏幕位置不变 网上有很多类似的效果,本代码比较起来有如下优点: 1. 兼容IE6.0+ & FF1.5+ 2. 使用非常简单,属于菜鸟最爱的那种拿来就能用的,见下面...
JavaScript实现跟随滚动条漂浮的返回顶部按钮效果知识点解析: 一、背景介绍: 在网页设计中,当页面内容很长,超出了用户的显示区域时,为了提升用户体验,常常会设计一个返回页面顶部的按钮。随着用户滚动页面,...
在JavaScript中,可以使用`window.scrollY`来获取当前滚动条的垂直位置,根据这个值调整广告元素的位置,使其始终保持在屏幕可见区域。 在实际应用中,为了保证用户体验,我们需要合理设置广告的大小、出现时机以及...
第17章 进度条、滚动条特效处理 17.1 使用符号制作的进度条 17.2 用table制作的进度条 17.3 CSS+JS制作的进度条(一) 17.4 CSS+JS制作的进度条(二) 17.5 进度条形式的下载效果 17.6 滑动条(一) 17.7 滑动条(二...
随鼠标漂移的广告展示是一种常见的网页交互设计技术,它主要利用JavaScript(简称JS)来实现元素在页面上的动态跟随效果。这种技术常用于在线广告、提示信息或者导航菜单等,目的是吸引用户的注意力并提高用户体验。...
第17章 进度条、滚动条特效处理 17.1 使用符号制作的进度条 17.2 用table制作的进度条 17.3 CSS+JS制作的进度条(一) 17.4 CSS+JS制作的进度条(二) 17.5 进度条形式的下载效果 17.6 滑动条(一) 17.7 滑动条(二...
5. **滚动效果**:滚动效果通常指页面内容随滚动条移动而产生的动态变化,比如视差滚动,使得背景元素以不同速度移动,创造深度感。 6. **图片栏**:图片栏是网页设计中常见的一种布局方式,用于展示多个相关图片,...
85:沪江英语网3图弹性广告下载 86:SOHU体育flash图片轮换下载 87:MSN频道4屏新闻广告效果下载 88:用层实现的滚动条效果下载 89:迅雷网七屏flash广告轮换下载 90:奥林匹克运动会焦点广告下载 91:一种选项卡样式...
此任务重点在于实现网页上的广告条或侧边栏广告跟随页面滚动的效果。这涉及到jQuery的position()和scroll()函数,以及动态计算元素位置的方法,帮助开发者创建更具互动性的用户体验。 任务3:表单数据验证 该任务...
85:沪江英语网3图弹性广告下载 86:SOHU体育flash图片轮换下载 87:MSN频道4屏新闻广告效果下载 88:用层实现的滚动条效果下载 89:迅雷网七屏flash广告轮换下载 90:奥林匹克运动会焦点广告下载 91:一种选项卡样式...
41.jquery拖动滚动条控制图片滚动及图片放大特效的示例 42.jquery旋转式图片切换并带图片放大功能 43.jQuery漂亮网页右上角双层撕角广告代码 44.jquery漂亮网页布局综合定时器、切换间隔、滚动时间、滚动图片...
4. **动态调整位置**:如果需要让图片浮动层跟随滚动条移动,可以添加如下代码: ```javascript $(window).scroll(function() { var scrollTop = $(this).scrollTop(); var offsetTop = $('#floatLayer').offset()...