关于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 相关文章推荐
js 点击按钮弹出另一页,选择值后,返回到当前页
May 26 Javascript
js中将具有数字属性名的对象转换为数组
Mar 06 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
Nov 29 Javascript
用unescape反编码得出汉字示例
Apr 24 Javascript
JS实现网页上随机产生超链接地址的方法
Nov 09 Javascript
vue中实现滚动加载更多的示例
Nov 08 Javascript
JavaScript实现的简单Tab点击切换功能示例
Jul 06 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
Oct 10 jQuery
微信小程序车牌号码模拟键盘输入功能的实现代码
Nov 11 Javascript
js实现web调用摄像头 js截取视频画面
Apr 21 Javascript
纯JS实现五子棋游戏
May 28 Javascript
详解如何在Javascript中使用Object.freeze()
Oct 18 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
怎样辨别一杯好咖啡
2021/03/03 新手入门
ThinkPHP模板判断输出Empty标签用法详解
2014/06/30 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
php多进程中的阻塞与非阻塞操作实例分析
2020/03/04 PHP
jquery 问答知识整理
2010/02/11 Javascript
jquery $.ajax相关用法分享
2012/03/16 Javascript
javascript学习(一)构建自己的JS库
2013/01/02 Javascript
js计算精度问题小结
2013/04/22 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
基于nodejs+express(4.x+)实现文件上传功能
2015/11/23 NodeJs
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
关于微信上网页图片点击全屏放大效果
2016/12/19 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
vue-router传参用法详解
2019/01/19 Javascript
ES6中字符串的使用方法扩展
2019/06/04 Javascript
js实现双色球效果
2020/08/02 Javascript
Python描述器descriptor详解
2015/02/03 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
关于python中plt.hist参数的使用详解
2019/11/28 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
python通过cython加密代码
2020/12/11 Python
解决pycharm修改代码后第一次运行不生效的问题
2021/02/06 Python
植物选择:Botanic Choice
2017/02/15 全球购物
营业员演讲稿
2013/12/30 职场文书
简历自我评价怎么写好呢?
2014/01/04 职场文书
毕业生求职信的经典写法
2014/01/31 职场文书
军人违纪检讨书
2014/02/04 职场文书
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
小学教师岗位职责
2015/04/02 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书
学术会议领导致辞
2015/07/29 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书