关于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 相关文章推荐
AutoSave/自动存储功能实现
Mar 24 Javascript
javascript 获取网页标题代码实例
Jan 22 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
Dec 28 Javascript
JS判断页面是否出现滚动条的方法
Jul 17 Javascript
纯javascript判断查询日期是否为有效日期
Aug 24 Javascript
JavaScript引用类型和基本类型详解
Jan 06 Javascript
完全深入学习Bootstrap表单
Nov 28 Javascript
TypeScript学习之强制类型的转换
Dec 27 Javascript
JS实现的二叉树算法完整实例
Apr 06 Javascript
详解离线安装npm包的几种方法
Nov 25 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
May 01 Javascript
JavaScript数值类型知识汇总
Nov 17 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
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
JQuery设置时间段下拉选择实例
2014/12/30 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
jQuery多个版本和其他js库冲突的解决方法
2016/08/11 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
js实现StringBuffer的简单实例
2016/09/02 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
Angular.js跨controller实现参数传递的两种方法
2017/02/20 Javascript
socket.io学习教程之基础介绍(一)
2017/04/29 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
Node.js应用设置安全的沙箱环境
2018/04/23 Javascript
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
2019/05/13 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
vue之a-table中实现清空选中的数据
2019/11/07 Javascript
vue 全局封装loading加载教程(全局监听)
2020/11/05 Javascript
详解vue中使用transition和animation的实例代码
2020/12/12 Vue.js
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
基于Django contrib Comments 评论模块(详解)
2017/12/08 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
2018/11/07 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
2019/09/18 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
从0到1使用python开发一个半自动答题小程序的实现
2020/05/12 Python
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
西班牙美妆电商:Perfume’s Club(有中文站)
2018/08/08 全球购物
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
四年级下册教学反思
2014/02/01 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
对外汉语专业大学生职业生涯规划书
2014/10/11 职场文书