2011-05-02 39 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

相關問題