2011-05-02 62 views
0

我编写了自己的Jquery手风琴,并且遇到了问题。页面加载后重新打开前一节中的jQuery手风琴

我需要在链接后再次打开当前部分。

当我点击一个链接时,一些数据库代码获取正确的数据并显示它,但是因为页面已经重新加载之前打开的手风琴部分现在已关闭。

有没有人有使用'$ accordionPrev'值的建议?我试图访问这个变种,但任何请求,使其可见无法正常工作。

我将是任何帮助非常感谢,我一直在这个战斗整天:)

非常感谢

罗伯特

的Jquery:

var $runAccordionOnce = 0; var $accordionPrev; 


$(".sidebar_game_header").click(function(){ 
       if($runAccordionOnce > 0) { 

       $accordionPrev.slideUp('normal'); 
       $accordionPrev.prev().css({'background-position' : 'top left'}); 

       } 


    if($(this).next().is(":hidden")){ 
       $accordionPrev = $(this).next(); 
       $(this).next().slideDown('normal'); 
       $(this).css({'background-position' : 'bottom left'}); 
       $runAccordionOnce++;  
    }   

HTML样本:

<div class="sidebar_game_content_wrapper"><div class="sidebar_game_onepix"></div> 
    <div class="sidebar_game_header"><img src="<?php bloginfo('template_directory'); ?>/images/icn_game1.png" alt="Game 1 Icon"/><div class="sidebar_game_header_text">Game 1</div></div> 
    <div class="sidebar_game_content"> 

     <ul> 
      <li><a href="<?php {echo $url . "&amp;game_id=10&amp;platform_id=3";} ?>">iPhone</a></li> 
      <hr /> 
      <li><a href="<?php {echo $url . "&amp;game_id=10&amp;platform_id=4";} ?>">iPad</a></li> 
      <hr /> 
      <li><a href="<?php {echo $url . "&amp;game_id=10&amp;platform_id=2";} ?>">Mac</a></li> 
      <hr /> 
      <li><a href="<?php {echo $url . "&amp;game_id=10&amp;platform_id=1";} ?>">PC</a></li> 
     </ul> 
    </div> 
</div> 
<div class="sidebar_game_content_wrapper"><div class="sidebar_game_onepix"></div> 
    <div class="sidebar_game_header"><img src="<?php bloginfo('template_directory'); ?>/images/icn_game2.png" alt="Game 2 Icon"/><div class="sidebar_game_header_text">Game 2</div></div> 
    <div class="sidebar_game_content">  
    <ul> 
      <li><a href="<?php {echo $url . "&amp;game_id=9&amp;platform_id=3";} ?>">iOS</a></li> 
      <hr /> 
      <li><a href="<?php {echo $url . "&amp;game_id=9&amp;platform_id=2";} ?>">Mac</a></li> 
      <hr /> 
      <li><a href="<?php {echo $url . "&amp;game_id=9&amp;platform_id=1";} ?>">PC</a></li> 
      <hr /> 
      <li><a href="<?php {echo $url . "&amp;game_id=9&amp;platform_id=6";} ?>">Nintendo DS</a></li> 
      <hr /> 
      <li><a href="<?php {echo $url . "&amp;game_id=9&amp;platform_id=5";} ?>">Nintendo Wii</a></li> 
      <hr /> 
    </ul> 
    </div> 

回答

2

JavaScript变量不会在页面重新加载之间持续存在。

你将不得不要么

  • 传中的URL(和阅读网页时再次加载)在

  • 将它保存cookie并从新页面访问它。
+0

感谢您的快速回答,我会研究这些方法。 – robertmegone 2011-05-02 19:16:25

+0

看来我已经传递了我在url中需要的值,我只需要指示手风琴在jquery中使用.eq()函数打开该部分。 – robertmegone 2011-05-03 15:29:27

+0

@robertmegone,很高兴听到你把它分类! – 2011-05-03 15:48:36

0

您可以提交当您点击该链接时打开的当前手风琴部分值,并随后在加载页面(在js中)从请求中读取。 默认情况下(对于首页加载),默认值可以表示您需要加载第一部分。

当您通过脚本手动打开特定部分时,您可能需要手动操作css。

+0

非常感谢您的回答,而不是提交我只是使用之前写入到url的值来打开正确的部分。 – robertmegone 2011-05-03 15:28:35

相关问题