我想把整个网站的滑动门都写在一个JS里,但每个页面的滑动门数量不一样,他就会出错
例如我首页只调用5个滑动门,我另一个页面只调用一个滑动门,把他写在一起就会出错
提示代码如下
网页错误详细信息用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Alexa Toolbar)
时间戳: Thu, 16 Dec 2010 11:09:32 UTC
消息: '$(...)' 为空或不是对象
行: 14
字符: 4
代码: 0
URI: file:///E:/公司/公司旗下网站/www.mr12580.com/templates/two/js/hdm.js// 滑动门
function scrollDoor(){
}
scrollDoor.prototype = {
 sd : function(menus,divs,openClass,closeClass){
  var _this = this;
  if(menus.length != divs.length)
  {
   alert("菜单层数量和内容层数量不一样!");
   return false;
  }   
  for(var i = 0 ; i < menus.length ; i++)
  {
   _this.$(menus[i]).value = i;   
   _this.$(menus[i]).onmouseover = function(){
    
    for(var j = 0 ; j < menus.length ; j++)
    {     
     _this.$(menus[j]).className = closeClass;
     _this.$(divs[j]).style.display = "none";
    }
    _this.$(menus[this.value]).className = openClass;
    _this.$(divs[this.value]).style.display = "block";   
   }
  }
  },
 $ : function(oid){
  if(typeof(oid) == "string")
  return document.getElementById(oid);
  return oid;
 }
}
window.onload = function(){
 var SDmodel = new scrollDoor();
 //首页
 //医生点评等
 SDmodel.sd(["m01","m02","m03","m04"],["c01","c02","c03","c04"],"sd01","sd02");
  //好评最多的医院
  SDmodel.sd(["hm01","hm02","hm03","hm04","hm05","hm06","hm07","hm08","hm09"],["hc01","hc02","hc03","hc04","hc05","hc06","hc07","hc08","hc09"],"hsd01","hsd02");

//优惠医院推荐
  SDmodel.sd(["yf01","yf02","yf03","yf04"],["yc01","yc02","yc03","yc04"],"yd01","yd02");
  //快速提问
   SDmodel.sd(["t01","t02"],["tc01","tc02"],"td01","td02");  //友情链接
  SDmodel.sd(["lm01","lm02","lm03","lm04","lm05"],["lc01","lc02","lc03","lc04","lc05"],"lsd01","lsd02"); //用户排行
  SDmodel.sd(["iym01","iym02","iym03","iym04","iym05"],["iyc01","iyc02","iyc03","iyc04","iyc05"],"iyd01","iyd02");
  //文章页
  //聚焦24小时
    SDmodel.sd(["ws01","ws02","ws03","ws04","ws05"],["wc01","wc02","wc03","wc04","wc05"],"wd01","wd02");
}

解决方案 »

  1.   

    关于你报数量错误,没办法测试!
    我有这样的例子,不管你添加多少个也没关系。。
    也不用这么麻烦。。js也很简单
    http://ok22.org/art_detail.aspx?id=64
    不知道是不是你要的效果。
      

  2.   

    var SDmodel = new scrollDoor();
     //首页
     //医生点评等
     SDmodel.sd(["m01","m02","m03","m04"],["c01","c02","c03","c04"],"sd01","sd02");  //好评最多的医院
       new scrollDoor().sd(["hm01","hm02","hm03","hm04","hm05","hm06","hm07","hm08","hm09"],["hc01","hc02","hc03","hc04","hc05","hc06","hc07","hc08","hc09"],"hsd01","hsd02");
        
        //优惠医院推荐
       new scrollDoor().sd(["yf01","yf02","yf03","yf04"],["yc01","yc02","yc03","yc04"],"yd01","yd02");
      //快速提问
        new scrollDoor().sd(["t01","t02"],["tc01","tc02"],"td01","td02");  //友情链接
       new scrollDoor().sd(["lm01","lm02","lm03","lm04","lm05"],["lc01","lc02","lc03","lc04","lc05"],"lsd01","lsd02"); //用户排行
       new scrollDoor().sd(["iym01","iym02","iym03","iym04","iym05"],["iyc01","iyc02","iyc03","iyc04","iyc05"],"iyd01","iyd02");
      //文章页
      //聚焦24小时
         new scrollDoor().sd(["ws01","ws02","ws03","ws04","ws05"],["wc01","wc02","wc03","wc04","wc05"],"wd01","wd02");