0

我编写了一个 jQuery 函数,在单击 div#quotecontact 中的“NEXT”链接时,将 id 为 quotecontact 的 div 的内容替换为另一个 id 为 quotenext 的 div。它工作正常。但我的 div#quotenext 中有一个“BACK”链接,它需要链接到 quotecontact 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>
4

2 回答 2

0

单击下一步时,您需要另一个容器来放入旧数据。然后只需提取该数据并在单击返回时将其插入。

//点击返回 jQuery('#current').html(#('#old').html());

然后做必要的逻辑来处理你的下一个东西。

于 2013-05-06T02:41:19.567 回答
0

quoteContact一旦单击,您将完全从 DOM 中删除当前 div ,Next因此如果您在尝试显示不再在 DOM 中退出的 div 时单击 Back,它将无法正常工作。您需要隐藏 / 并显示它们。或动态创建它们,您不能将所有内容都保存在 DOM 中。这是为此而写的。并在此处查看演示

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);

});
于 2013-05-06T03:01:19.790 回答