回答第二个问题:
http://www.daanlu.com/category-25.aspx
在点击左侧菜单后,维持js导航树的状态,不适用iframe我之前做过一个类似的,你可以先把左侧的导航树整个呈现出来,但是你需要在根节点加入一个自定义属性,可以标识当前节点的名称,例如:category-25,在页面onload后,使用js查询到具有属性category-25的div元素,然后用js click这个div元素。

解决方案 »

  1.   

    to 4F  怎么我一直可以看得到,你点主导航,点连一点,快一点;就看得到的。to 5F  不错我的是IE6,估计兼容性是有点差,但也不至于呀~~请帮看哈还会有别的原因吗?
      

  2.   

    1.闪烁可能是你的浏览器兼容性很差,也可能是你的显卡驱动装不是最新的,还可能是,你看看工具里面的‘弹出窗口阻止程序’里面有阻止的等级~也就是说要是大不开可能是因为它被电脑阻止拉~你把它调到中的就OK拉~一些小的软件就都能打开拉~明白不~要是真的大不开那还是别开拉~因为可能是流氓软件
    2.如果在打开这个"所有产品"页面时,默认第一项(沙发) 是展开状态?这个应该是调用了click事件才展开的,那你在打开所有产品的时候就调用这一项的click事件就可以了
      

  3.   

                                   <div id="test0-content" style="display:block">                                
                                        
                                                <div class="accordion_child" style="display:block"><ul>
                                            
                                                  <li><a href="category-7.aspx">布艺沙发</a></li>
                                            
                                                  <li><a href="category-8.aspx">扶手椅</a></li>
                                            
                                                  <li><a href="category-9.aspx">皮沙发</a></li>
                                            
                                                  <li><a href="category-10.aspx">三人沙发</a></li>
                                            
                                                  <li><a href="category-11.aspx">沙发床</a></li>                                        
                                                  <li><a href="category-12.aspx">沙发垫</a></li>
                                            
                                                  <li><a href="category-13.aspx">双人沙发</a></li>
                                            
                                                  <li><a href="category-14.aspx">坐垫</a></li>
                                            
                                                </ul> </div>
                                             
                                </div>
      

  4.   


       右上角有个白屏闪烁,左上角却很好 Why?
      

  5.   


    右上角有个白屏闪烁,左上角却很好 Why?
      

  6.   

    good luck ~ 
     
      

  7.   

    先解决第二个吧function Accordian(d,s,tc){
                     // get all the elements that have id as content
                     l=$(d).getElementsByTagName('div');
    Accordian('basic-accordian',5,'header_highlight')
                     c=[];
                     for(i=0;i<l.length;i++){
                      h=l[i].id;
                      if(h.substr(h.indexOf('-')+1,h.length)=='content'){c.push(h);}
                     }
                     sel=null;
                     //then search through headers
                     for(i=0;i<l.length;i++){
                      h=l[i].id;
                      if(h.substr(h.indexOf('-')+1,h.length)=='header'){
                       d=$(h.substr(0,h.indexOf('-'))+'-content');
                       d.style.display='none';
     
    找到这段代码把最下面的
    d.style.display='none';
    改成
    if(i!=0){
    d.style.display='none';
    }
      

  8.   

    第一个问题 我没有发现。 我这看正常的
    第二个问题
    1、 <div id="test0-header" class="accordion_headings" >沙发</div>
        <div id="test0-content">
        </div>
    </div>
    这个是沙发的代码。 你先摸到他单击事件在哪。 应该在你引用的js 文件里
    找到test0-header ID 。。   看他的ONCLICK 是怎么写的。 。  你的目的就是在页面一出来的时候直接去调用ONCLICK后面的事件,这样一进这页面,沙发就是开的了
    2、想右面动。 左面不动
    你在连接的时候把跟级目录ID也组装起来 传到新的页面。 。 然后判断传过来的根基目录来对应展开
    如果传test0-header 展开的就是 沙发 
    如果传test1-header 展开的就是 床
    还有个问题我不懂哦。   为什么看你的每个小接点连接的都是一个新的aspx页面那。  而不是一个页面。URL重组了?
      

  9.   

    晕  原来JS 都在下面那。。 我都没看见。。  还在找JS 在哪那
      

  10.   

    如果在打开这个"所有产品"页面时,默认第一项(沙发) 是展开状态?
    onload时 dociment.getelementByid("hh").click();
      

  11.   

    17楼  我可没这么说, 我估计他们肯定都有onclick 事件, 因为他可以点。  既然他有onclick事件
    后面肯定跟了一个JS 函数  而且还得传参数   所以在刚进页面的时候 去模拟这个点击事件 并且带上他要的参数就行
      

  12.   

    我感觉最简单的办法 就是在JS地方 到处加
    alert(1) alert(2)
    然后去点沙发 看在哪提示, 就知道是哪了。  一点一点摸索被。   我摸JS放大镜的时候,就是重一点也看不懂到自己能随意改动
      

  13.   


     多谢各位;布局乱了不是问题,关键是那个菜单的JS怎么搞得定;就希望默认第一个是打开的,
    然后点击后可以展开和收缩
     t 14F  效果是出来了,不过点击其它菜单时,第一项不自己关呀,老是开的
     t 15F  思路不错,我再想哈办法,不过还请你再提点意见,只怪本人JS太弱~;另外回你的问题,
             我确实用了Url重写t  17F  我在文档的</body>之前加了句 
             <script>document.getElementById("test0-header").click();</script>
            好像还是不行呀
      

  14.   

    总体感觉速度比较慢,使用asp自带的控件会产生N多垃圾代码 。在谷歌浏览器中显示不正常
      

  15.   

    没看到
    主要还是CSS样式问题
    IE8显示效果不行
      

  16.   

    1.看不到UFO2.如果要保持左侧的菜单不变化,你应该在所有产品列表页、分类产品列表页上都加上菜单的内容(如果菜单在母板里的话,应该用同一个母板),现在点到搁架单元的时候,根本就没有菜单的。页面跳转时可以把菜单的展开项保存在cookie中,菜单的样子就不会发生变化,找到js中的最后一个函数,照下面这样修改下:
                   //Accordian Initializer
                    function Accordian(d,s,tc){
                     // get all the elements that have id as content
                     l=$(d).getElementsByTagName('div');
                     c=[];
                     for(i=0;i<l.length;i++){
                      h=l[i].id;
                      if(h.substr(h.indexOf('-')+1,h.length)=='content'){c.push(h);}
                     }
                     sel=null;
                     //then search through headers
                     for(i=0;i<l.length;i++){
                      h=l[i].id;
                      if(h.substr(h.indexOf('-')+1,h.length)=='header'){
                       d=$(h.substr(0,h.indexOf('-'))+'-content');
                       d.style.display='none';
                       d.style.overflow='hidden';
                       d.maxh =sh(d);
                       d.s=(s==undefined)? 7 : s;
                       h=$(h);
                       h.tc=tc;
                       h.c=c;
                       // set the onclick function for each header.
                       h.onclick = function(){
                        for(i=0;i<this.c.length;i++){
                         cn=this.c[i];
                         n=cn.substr(0,cn.indexOf('-'));
                         if((n+'-header')==this.id){
                          ex($(n+'-content'));
                          n=$(n+'-header');
                          cc(n,'__');
                          n.className=n.className+' '+n.tc;
                         }else{
                          cl($(n+'-content'));
                          cc($(n+'-header'),'');
                         }
                        }
                         document.cookie = "sel=" +this.id;
                       }
                       if(h.className.match(/selected+/)!=undefined){ sel=h;}
                      }
                     }
                     var cks = document.cookie.split(';');
                     for (var i=0; i<cks.length; i++) {
                        var ck = cks[i].split('=');
                        if (ck[0].replace(/\s+/, '')=='sel')
                           sel = $(ck[1]);
                     }

                     if(sel!=undefined){sel.onClickclick();}
                    }
                    </script>
      

  17.   

    to 30F:  很好;不过还存在 2 个小问题
    www.daanlu.com 已更新,可以在这上面看效果1:先点了“床”中的一个子顶,然后再点“储物”中的一个子项;再点后退
      内容退到了床的内容,菜单个BZ的还没等在“储物”里头;  当点击了“储物”一次菜单时,后再在主导航区域点击别的主导航(例如“联系我们”)
      然后再要主导航中点“所有产品”,发现他展开的还是上次的个菜单项。我希望在任何时候,
      点击“所有产品”进去的都是第一项(即“沙发”)是展开的,其它收缩着
    2:当同某一个菜单里时(例如在“储物”里) 点击“搁架单元”和“工作椅”反复点几次,
       你会发现一个问题,那就是同在一个一级菜单时,这个“储物” 一级菜单还做了
       一次"展开/收缩"的操作,这很多余;我只想在点击一级菜单时有切换收缩的效果,
       在二级里时,已展开的一级菜单项就不动。
      

  18.   

    这个应该要通过后台程序控制,如果要“沙发”是展开的项,那就在第一项的class中加上selected:
    <div id="test0-header" class="accordion_headings selected" >沙发</div>
    同样,如果要其它项是展开的,那就在其它页面控制要展开的项加上selected
    另外,把原来的修改都改回去,原来的修改方法不适用你的要求(onClick的修改保留,因为原来的写法是错的)
      

  19.   

      问题依旧,那大家还没有类似的东西,类似的菜单以及在.net的用法。
       只要能达到目的即可。谢谢