这是一个跟随滚动条漂浮的JS特效,就是说滚动条滚动而元素相对屏幕位置不变 网上有很多类似的效果,本代码比较起来有如下优点: 1. 兼容IE6.0+ & FF1.5+ 2. 使用非常简单,属于菜鸟最爱的那种拿来就能用的,见下面说明 3. 元素之间不会起冲突,一页中可以有n个特效,多元素使用无代码冗余 缺点有: 1. 只能在声明为xHTML的文档中使用 2. 元素最好放在body下 3. 滚动时不可避免的会有闪烁(已经比较轻微,但追求完美者可能觉得不爽) 使用说明: 在页面中引用JS包,然后在需要特效的div上设定class为xScrollStick即可,当然不要忘记给每个元素写上你希望它固定的位置 示例1: Content... 示例2: Content... 演示: 运行代码框 俺是浮动条2 俺是浮动条3 俺是浮动条4 afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] 页面由两个个部分组成: 页面文件: 代码拷贝框 俺是浮动条2 俺是浮动条3 俺是浮动条4 afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg afosdhfosdhg [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] js: ////********************/ // x 系列之 xScrollStick // 作者:Hutia // 未经同意不得转载或用于商业用途 //********************/ /* 说明: x系列是Hutia开发的系列JS代码,配合相应的css后可以实现快速的自定义标签 目前xScrollStick支持的浏览器类型为:IE5.5, FF1.5 xScrollStick的标签为 Content... 支持属性: 无 支持方法: 无 */ //**载入CSS***** var xScrollStickCssFilePath="sp\/css\/xframe.css"; //document.write(""); //**检测浏览器种类***** 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": default: window.attachEvent("onload",_xScrollStick_init); } //**初始化函数****** function _xScrollStick_init(){ var allTheScrollSticks=document.getElementsByTagName("div"); for(var i=0;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(){ var allTheScrollSticks=document.getElementsByTagName("div"); for(var i=0;i } } //**方法函数区****** 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"; } //**通用函数区*** //无 //]]> ps: 这一作的技术含量较前两个更低......没办法,JS本来的目的之一就是特效.... |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 13:28 , Processed in 0.212377 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.