关于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实现CheckBox全选全不选
Jun 27 Javascript
javascript针对DOM的应用分析(二)
Apr 15 Javascript
jQuery 在光标定位的地方插入文字的插件
May 10 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
Dec 10 Javascript
js导航栏单击事件背景变换示例代码
Jan 13 Javascript
node.js中的fs.ftruncate方法使用说明
Dec 15 Javascript
jQuery操作动态生成的内容的方法
May 28 Javascript
Vue结合原生js实现自定义组件自动生成示例
Jan 21 Javascript
jquery实现左右轮播图效果
Sep 28 jQuery
优雅地使用loading(推荐)
Apr 20 Javascript
新手入门带你学习JavaScript引擎运行原理
Jun 24 Javascript
node事件循环和process模块实例分析
Feb 14 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字符串 ==比较运算符的副作用
2009/10/21 PHP
PHP文件读写操作之文件写入代码
2011/01/13 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
php 开发中加密的几种方法总结
2017/03/22 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
javascript 读取XML数据,在页面中展现、编辑、保存的实现
2009/10/27 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
2016/08/02 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
React+TypeScript+webpack4多入口配置详解
2019/08/08 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
2020/12/04 Javascript
全面解析Vue中的$nextTick
2020/12/24 Vue.js
[05:05]第三天的dota2
2013/07/29 DOTA
在Python中调用ggplot的三种方法
2015/04/08 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
微信跳一跳python自动代码解读1.0
2018/01/12 Python
python在html中插入简单的代码并加上时间戳的方法
2018/10/16 Python
Django web框架使用url path name详解
2019/04/29 Python
Python使用get_text()方法从大段html中提取文本的实例
2019/08/27 Python
Pycharm+Python+PyQt5使用详解
2019/09/25 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
CSS3制作3D立方体loading特效
2020/11/09 HTML / CSS
体育专业学生自我评价范文
2014/01/17 职场文书
公司门卫岗位职责
2014/03/15 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
医院消毒隔离制度
2015/08/05 职场文书
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis