css和js制作翻动的横排菜单

演示:http://www.naohou.cn/cssdemo/cssjs1.htm

原文:http://www.naohou.cn/a/944.html

代码:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>css和js制作翻动的横排菜单 - 闹猴在线源码(www.naohou.cn)</title>
<style type="text/css">
.clear:after {
 content:".";
 display:block;
 height:0;
 clear:both;
 visibility:hidden
}
.clear {
 display:inline-block
}
.clear {
 display:block
}
div#nav {
 height:32px;
 background:url(http://www.naohou.cnupfiles/200912/20091279482349.jpg) repeat-x
}
div#nav ul {
 width:705px;
 list-style:none;
 margin-top: 0;
 margin-right: auto;
 margin-bottom: 0;
 margin-left: 0px;
}
div#nav ul li {
 float:left;
 height:32px;
 overflow:hidden;
 background-image: url(http://www.naohou.cnupfiles/200912/200912794820656.jpg);
 background-repeat: repeat-y;
 background-position: right 0;
 padding-top: 0;
 padding-right: 1px;
 padding-bottom: 0;
 padding-left: 0px;
 font-family: Arial;
 font-size: 12px;
 line-height: 32px;
 font-weight: bold;
}
div#nav ul li a {
 float:left;
 height:100%;
 width: 77px;
 background:url(http://www.naohou.cnupfiles/200912/200912794832832.jpg) repeat-x;
 color:#fff;
 text-decoration:none;
 padding-top: 0;
 padding-right: 5px;
 padding-bottom: 0;
 padding-left: 5px;
 text-align:center;
}
div#nav ul li a.hover {
 clear:both;
 background-position:0 -32px;
 width: 77px;
}
div#nav ul li.on a {
 background-position:0 -32px;
}
div#nav ul li.nobg {
 background:none
}/*http://www.lrcode.com*/
/* ]]> */
</style>
</head>
<body>
<div id="nav">
  <ul class="clear">
  <li><a href="#">闹猴在线</a></li>
  <li><a href="#">网页特效</a></li>
  <li><a href="#">层和布局</a></li>
  <li><a href="#">菜单导航</a></li>
  <li><a href="#">图片特效</a></li>
  <li><a href="#">文本链接</a></li>
  <li><a href="#">广告特效</a></li>
  <li><a href="#">表单按钮</a></li>
  <li class="nobg"></li>
  </ul>
</div>
<script type="text/javascript"> 
/* <![CDATA[ */
function nav(c, config){
  this.config = config || {speed: 10, num: 2};
  this.container = (typeof(c)=="object") ? c : document.getElementById(c);
  this.lineHeight = this.container.offsetHeight;
  this.scrollTimeId = null;
  var _this = this;  
  this.__construct = function (){
  var inner,el,href;
  inner = _this.container.childNodes[0].innerHTML;
  href = _this.container.childNodes[0].href;
  el = document.createElement("a");
  el.innerHTML = inner;
  el.href = href;
  el.className = 'hover';
  _this.container.appendChild(el);
  _this.container.onmouseover = function (){_this.start()};
  _this.container.onmouseout = function (){_this.end()};
  }();
  this.start = function (){
  _this.clear();
  _this.scrollTimeId = setTimeout(function(){_this.scrollUp();}, _this.config.speed);
  };
  this.end = function (){
  _this.clear();
  _this.scrollTimeId = setTimeout(function(){_this.scrollDown();}, _this.config.speed);
  };
  this.scrollUp = function (){
  var c = _this.container;  
  if(c.scrollTop >= _this.lineHeight){c.scrollTop = _this.lineHeight;return;}
  c.scrollTop += _this.config.num;
  _this.scrollTimeId = setTimeout(function(){_this.scrollUp();}, _this.config.speed);
  };
  this.scrollDown = function (){
  var c = _this.container;
   
  if(c.scrollTop <= 0){c.scrollTop = 0;return;}
  c.scrollTop -= _this.config.num;
  _this.scrollTimeId = setTimeout(function(){_this.scrollDown();}, _this.config.speed);
  };
  this.clear = function (){clearTimeout(_this.scrollTimeId)};
}
(function(){
  var container = document.getElementById('nav');
  var el_li = container.getElementsByTagName('li');
  var arr = [];
  for( var i = 0; i < el_li.length; i++){
  if(el_li[i].className == 'on') continue;
  arr[i] = new nav(el_li[i], {speed: 10, num: 4});
  }
})
();
/* ]]> */
</script>
</body>
</html>

版权声明:
作者:Jays
链接:https://ijays.com/2010/04/css-js-nav.html
来源:颓废的美
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>