2013-05-06 56 views
0

我編寫了一個jQuery函數,用於在點擊div#quotecontact中的'NEXT'鏈接時用另一個id爲quotenext的div替換id爲quotecontact的div的內容。它工作正常。但我有一個'返回'鏈接在我的div#quotenext需要鏈接到quotecontact div但它不起作用。我會把我的代碼放在下面,讓我知道我錯在哪裏。如何替換另一個div內容,然後能夠檢索第一個div的內容?

<div class="slidingDiv"> 
<div id="quotecontact" style="display:none >  
<a href="#" class="nextquote" data-target="quotenext" style="color:#000;font-size:19px"> 
                 NEXT 
                 </a> 
</div> 
<div id="quotenext" style="display:none;"> 
<a href="#" class="nextquote" data-target="quotecontact" style="color:#000;font-size:19px"> 
                  < BACK 
                 </a> 
</div> 

<script type="text/javascript"> 
var $j = jQuery.noConflict(); 
$j(".nextquote").click(function(e) { 
    e.preventDefault(); 
    $j(".slidingDiv").html($j("#"+$j(this).data('target')).html()); 
    $j(".slidingDiv").show("slide", { 
     direction: "right" 
    }, 200); 
}); 
}); 
</script> 
+0

您的問題沒有解決? – PSL 2013-05-06 03:30:56

回答

0

當您點擊Next時,您將完全從DOM中刪除當前div quoteContact,因此如果您在嘗試顯示不再在DOM中退出的div時單擊Back,它將無法工作。你需要改爲隱藏/顯示它們。或者動態地創建它們你不能全部保留在DOM中。這是一個寫作。並參見Demo Here

var $j = jQuery.noConflict(); 
$j(".slidingDiv").on('click', '.nextquote', function (e) { 

    e.preventDefault(); 

    $j(this).closest('div').hide("slide", { 
     direction: "right" 
    }, 200); 

    $j("#" + $j(this).data('target')).show("slide", { 
     direction: "right" 
    }, 200); 

}); 
+0

PSL:我試過你的代碼,但它似乎並沒有工作。它創建一個div下方quotecontact點擊下一步,後面似乎無法正常工作 – Leah 2013-05-06 06:29:10

+0

@Leah你檢查小提琴嗎?它不創建任何div,只是切換它們。 – PSL 2013-05-06 06:33:40

+0

返回不會帶我回quotecontact要麼。我有很多的div和html內quotecontact和quotenext div,可能會造成這個問題? – Leah 2013-05-06 06:55:02

0

你需要另一個容器,把你的舊數據上單擊下一步。然後,只需將這些數據拉回並點擊即可。 jQuery('#current')。html(#('#old')。html()); //在點擊後返回 。

然後做必要的邏輯來處理你的下一個東西。

+0

對不起,我不知道如何將舊數據分配到另一個容器,那麼是否將一個div分配給另一個? – Leah 2013-05-06 06:31:07

相關問題