2013-05-06 59 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

相关问题