关于Blog顶部的滚动导航条代码


Posted in Javascript onSeptember 25, 2006

不少朋友通过各种方式问我要 Blog 顶部的滚动导航菜单的代码。其实也没什么特别的,但既然有需求,我就还是把这部分代码整理出来,供大家参考。

<!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> 
<TITLE>Float Div</TITLE> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<style type="text/css"> 
#zealNavigatorBar { 
    position: absolute; 
    z-index: 100; 
    width: 760px; 
    height: 32px; 
    line-height: 32px; 
    top: 0px; 
    left: 0px; 
    padding: 0px; 
    margin: 0px; 
    border-bottom:1px solid #646465; 
    background-color: #C0C0C3; 
} 
</style> 
</HEAD> <BODY> 
<div id=zealNavigatorBar> 
 <a href="/">Anything here</a>  
 <a href="/">Anything here</a>  
 <a href="/">Anything here</a>  
</div> 
<script language="JavaScript"> 
for(var t=0;t<1000;t++) document.writeln('Test content: line '+t+'<br />'); 
</script> 
<script language="JavaScript"> 
var g_myBodyInstance = document.body; 
var g_myBodyInstanceString = "document.body"; 
if(document.compatMode != "BackCompat"){ 
    // for looser.dtd 
    g_myBodyInstance = document.documentElement; 
    g_myBodyInstanceString = "document.documentElement"; 
} 
var isMinNS4 = (navigator.appName.indexOf("Netscape") >= 0 && 
                parseFloat(navigator.appVersion) >= 4) ? 1 : 0; 
var isMinNS5 = (navigator.appName.indexOf("Netscape") >= 0 && 
                parseFloat(navigator.appVersion) >= 5) ? 1 : 0; 
var isMinIE4 = (document.all) ? 1 : 0; 
var isMinIE5 = (isMinIE4 && navigator.appVersion.indexOf("5.") >= 0) ? 1 : 0; 
var isMacIE = (isMinIE4 && navigator.userAgent.indexOf("Mac") >= 0) ? 1 : 0; 
var getFFVersion=navigator.userAgent.substring( 
                    navigator.userAgent.indexOf("Firefox")).split("/")[1]; 
//extra height in px to add to iframe in FireFox 1.0+ browsers 
var FFextraHeight=getFFVersion<1.5? 16 : 0; 

function getLayer(name) { 
  if (isMinNS5) 
    return document.getElementById(name); 
  else if (isMinIE4) 
    return eval('document.all.' + name); 
  else if (isMinNS4) 
    return findLayer(name, document); 
  return null; 
} 
function findLayer(name, doc) { 
  var i, layer; 
  for (i = 0; i < doc.layers.length; i++) { 
    layer = doc.layers[i]; 
    if (layer.name == name) 
      return layer; 
    if (layer.document.layers.length > 0) { 
      layer = findLayer(name, layer.document); 
      if (layer != null) 
        return layer; 
    } 
  } 
  return null; 
} 
function moveLayerTo(layer, x, y) { 
  if (isMinIE4) { 
    layer.style.left = x; 
    layer.style.top  = y; 
  } 
  else if (isMinNS5) { 
    layer.style.left = x+'px'; 
    layer.style.top  = y+'px'; 
  } 
  else if (isMinNS4) 
    layer.moveTo(x, y); 
} 
function getPageLeft(layer) { 
  if (isMinIE4||isMinNS5) 
    return(layer.offsetLeft); 
  else if (isMinNS4) 
    return(layer.pageX); 
  return(-1); 
} 
function getPageTop(layer) { 
  if (isMinIE4||isMinNS5) 
    return(layer.offsetTop); 
  else if (isMinNS4) 
    return(layer.pageY); 
  return(-1); 
} 
function getPageScrollX() { 
  if (isMinIE4||isMinNS5) 
    return(g_myBodyInstance.scrollLeft); 
  else if (isMinNS4) 
    return(window.pageXOffset); 
  return(-1); 
} 
function getPageScrollY() { 
  if (isMinIE4||isMinNS5) 
    return(g_myBodyInstance.scrollTop); 
  else if (isMinNS4) 
    return(window.pageYOffset); 
  return(-1); 
} 
var g_p_zealNavigatorBar = null; 
g_p_zealNavigatorBar = getLayer('zealNavigatorBar'); 
if(!isMinIE4){g_p_zealNavigatorBar.style.position = 'fixed';} 
function reposzealNavigatorBar(){ 
    if(isMinIE4){ 
        try{ 
            moveLayerTo(g_p_zealNavigatorBar,  
                        getPageLeft(g_p_zealNavigatorBar),  
                        getPageScrollY()); 
        }catch(e){} 
    } 
} 
window.onresize = reposzealNavigatorBar; 
window.onscroll = reposzealNavigatorBar; 
window.onload = reposzealNavigatorBar; 
</script> 
</BODY> 
</HTML>
Javascript 相关文章推荐
jquery创建div 实现代码
Apr 27 Javascript
js选项卡的实现方法
Feb 09 Javascript
JavaScript操作cookie类实例
Mar 31 Javascript
jQuery实现返回顶部效果的方法
May 29 Javascript
基于jquery实现即时检查格式是否正确的表单
May 06 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
Oct 31 Javascript
详解Angular.js的$q.defer()服务异步处理
Nov 06 Javascript
jquery实现轮播图效果
Feb 13 Javascript
JavaScript数组排序reverse()和sort()方法详解
Dec 24 Javascript
详解Angular路由之路由守卫
May 10 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
Jul 30 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
Aug 29 Javascript
初学prototype,发个JS接受URL参数的代码
Sep 25 #Javascript
浅谈JavaScript中面向对象技术的模拟
Sep 25 #Javascript
理解JavaScript中的事件
Sep 23 #Javascript
Valerio 发布了 Mootools
Sep 23 #Javascript
prototype.js的Ajax对象
Sep 23 #Javascript
在Javascript中为String对象添加trim,ltrim,rtrim方法
Sep 22 #Javascript
如何实现JS函数的重载
Sep 22 #Javascript
You might like
php中目录,文件操作详谈
2007/03/19 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
PHP模糊查询技术实例分析【附源码下载】
2019/03/07 PHP
PHP实现财务审核通过后返现金额到客户的功能
2019/07/04 PHP
Yii框架的redis命令使用方法简单示例
2019/10/15 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
JavaScript中的立即执行函数表达式介绍
2015/03/15 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
Angular路由简单学习
2016/12/26 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
Bootstrap输入框组件使用详解
2017/06/09 Javascript
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
python中os操作文件及文件路径实例汇总
2015/01/15 Python
python tkinter界面居中显示的方法
2018/10/11 Python
Python脚本完成post接口测试的实例
2018/12/17 Python
python实现三次样条插值
2018/12/17 Python
py-charm延长试用期限实例
2019/12/22 Python
将tensorflow模型打包成PB文件及PB文件读取方式
2020/01/23 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
Python是什么 Python的用处
2020/05/26 Python
python 如何调用远程接口
2020/09/11 Python
python 读取、写入txt文件的示例
2020/09/27 Python
应届行政管理专业个人自我评价
2013/12/28 职场文书
致400米运动员广播稿
2014/02/07 职场文书
《天游峰的扫路人》教学反思
2014/04/25 职场文书
差生评语大全
2014/05/04 职场文书
公司员工手册范本
2015/05/14 职场文书
Spring-cloud Config Server的3种配置方式
2021/09/25 Java/Android