javascript - 当其他 DIV 被移除时,动态创建的 DIV 不保持位置

标签 javascript jquery html css

很难解释,但我构建了一个小便签应用程序。 300px x 300px 注释的 HTML 通过按钮动态插入。然后,您可以通过单击注释中的 X 来删除注释。

我的问题出现在删除笔记时。如果我创建了一些笔记并将它们在屏幕上移动,然后一个一个地删除它们,它们就会移动位置。它们唯一一次保持我为它们设置的位置是在我以它们创建的相反顺序删除它们时。

使用 jQuery UI 的 .draggable()

这是我的 jsfiddle 演示 https://jsfiddle.net/29gf8wh3/1/

注释 html

<div id='canvas'>
<div class='note'>
    <div id='note_menu'>
        <i class="btn_close fas fa-times"></i>
        <i class="float-right fas fa-bars"></i>
        <textarea class='note_text'></textarea>
    </div>
</div>
</div>

注意CSS

.note {
background-color: #F4F4F0;
-webkit-box-shadow: 10px 10px 39px -9px rgba(0, 0, 0, 0.75);
-moz-box-shadow: 10px 10px 39px -9px rgba(0, 0, 0, 0.75);
box-shadow: 10px 10px 39px -9px rgba(0, 0, 0, 0.75);
width: 300px;
height: 300px;
}

我的脚本

$(document).ready(function () {

$('.note').draggable();

// Deletes note respective to close button clicked.
$(document).on('click', '.btn_close', function(){
    $(this).parent().parent().remove();
});


$('#btn_add').click(function(){
    console.log('working');
    $('#canvas').add(`<div class='note'>
    <div id='note_menu'>
        <i class="btn_close fas fa-times"></i>
        <i class="float-right fas fa-bars"></i>
        <textarea class='note_text'></textarea>
    </div>
</div>`).appendTo('#canvas');
    $('.note').draggable();
});
});

最佳答案

使用 CSS jQuery 位置固定到类笔记。

  $('.note').draggable();
  $('.note').css('position','fixed');

https://codepen.io/anon/pen/XxJyBj

关于javascript - 当其他 DIV 被移除时,动态创建的 DIV 不保持位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52574976/

相关文章:

javascript - 如何点击播放歌曲?

javascript - 有没有办法为编辑器的每个实例覆盖 CKEditor 的配置文件?

JQuery 自动补全一行数据

php - 如何将 jQuery 表发送到 Mysql 数据库?

javascript - 如何在javascript中将表单中元素的id值作为数组传递?

javascript - 如何使用 express 3.x 在我的 node.js 中的 EJS 模板中包含 js 文件

javascript - 如何在 jQuery 中对特定事件顺序应用函数?

javascript - 如果 HTML 标签为空,则添加类

javascript - Jquery 或 Javascript 中的空 div 是什么意思

javascript - 在javascript中获取div位置(顶部)?