将元素移动到身体的末端并返回原始位置

时间:2017-02-06 14:03:40

标签: javascript jquery

我在下面的代码是在网页上打开模式时执行的。当模态打开时,它会将div id =“header_cart”移动到正文的末尾。

    $(document).on('closing', '#modal', function (e) {
        ........
    });

但是我还希望div id =“header_cart”在该模态关闭时返回到原来的位置。

Intent intent = new Intent(PromotionActivity.this, PositionService.class);
            PendingIntent pintent = PendingIntent.getService(PromotionActivity.this, 0, intent, 0);
            AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
            alarm.cancel(pintent);

我不是javascript的专家所以我需要帮助添加什么代替点,以使#header_cart在模态框关闭后返回其位置。

2 个答案:

答案 0 :(得分:0)

您需要<div id="header_cart />父元素的ID。

然后(假设父元素有header_cart_parent作为其ID),您只需使用:

$(document).on('closing', '#modal', function (e) {
    $('#header_cart_parent').append( $('#header_cart').detach() );
});

如果你不知道父ID,你可以在打开模态时添加空div <div id="header_cart />,然后在关闭时将其删除:

/** OPENING **/
$(document).on('opening', '#modal', function (e) {
    $('#header_cart').after('<div id="header_cart_after"></div>');
    $(document.body).append( $('#header_cart').detach() );
});

/** CLOSING **/
$(document).on('closing', '#modal', function (e) {
    $('#header_cart_after').before( $('#header_cart').detach() );
    $('#header_cart_after').detach();
});

答案 1 :(得分:-1)

再次将该元素添加到其原始位置,如下面的代码

<div id ="div1">Hello Div 1</div>
<div id ="div2">Hello Div 2</div>
<div id ="div3">Hello Div 3</div>
<button id ="div1button">Div1</button>
<button id ="div2button">Div2</button>
<button id ="div3button">Div3</button>

<script>
$("#div1button").click(function(){
    $("#div3").append( $('#div1').detach() );
})

$("#div3button").click(function(){
    $("#div2").prepend( $('#div1').detach() );
})
</script>