关于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三个关闭弹出层的小示例
Nov 05 Javascript
javascript验证身份证完全方法具体实现
Nov 18 Javascript
jquery 快速回到页首的方法
Dec 05 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
Jun 06 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
Jun 24 Javascript
javascript中Array数组的迭代方法实例分析
Feb 04 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
Aug 06 Javascript
AngularJS基础 ng-keyup 指令简单示例
Aug 02 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
Nov 26 Javascript
JS实现的文件拖拽上传功能示例
May 21 Javascript
layui点击按钮页面会自动刷新的解决方案
Oct 25 Javascript
使用typescript快速开发一个cli的实现示例
Dec 09 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正则提取或替换img标记属性
2013/06/26 PHP
PHP循环结构实例讲解
2014/02/10 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
excel操作之Add Data to a Spreadsheet Cell
2007/06/12 Javascript
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
csdn 论坛技术区平均给分功能
2009/11/07 Javascript
jQuery 1.7.2中getAll方法的疑惑分析
2012/05/23 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
JS实现来回出现文字的状态栏特效代码
2015/10/31 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
基于jQuery实现音乐播放试听列表
2016/04/14 Javascript
AngularJS中的过滤器filter用法完全解析
2016/04/22 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
vue-resource 拦截器(interceptor)的使用详解
2017/07/04 Javascript
vue引入axios同源跨域问题
2018/09/27 Javascript
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
微信小程序 swiper 组件遇到的问题及解决方法
2019/05/26 Javascript
弱类型语言javascript中 a,b 的运算实例小结
2019/08/07 Javascript
如何实现iframe父子传参通信
2020/02/05 Javascript
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
python批量获取html内body内容的实例
2019/01/02 Python
django 消息框架 message使用详解
2019/07/22 Python
python网络编程 使用UDP、TCP协议收发信息详解
2019/08/29 Python
Python3 tkinter 实现文件读取及保存功能
2019/09/12 Python
《菜园里》教学反思
2014/04/17 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
食堂厨师岗位职责
2014/08/25 职场文书
故宫导游词
2015/01/31 职场文书
政府会议通知范文
2015/04/15 职场文书
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
2021/06/26 MySQL