防止div重叠:绝对div

用户名

通过单击一个按钮,我们使用jquery创建了一个动态div。

$("#add-div").on('click',function(){

$(".new-div").after('<div class="new-div" style="z-index:1; position:absolute;" >message</div>');

 });

当前发生的情况是,在网页中已经有一个new-div,当单击add-div时会创建另一个new-div。问题在于所有新股均被重叠。一个div的消息被覆盖在另一个div的消息上。

如何解决呢?

我尝试过margin-righ:auto; margin-left:auto ;在这里我无法更改位置:绝对position:absolute。这是必须的。所以我正在寻找一个不改变立场的解决方案:绝对

更新:请参阅此jsfiddle:https ://jsfiddle.net/felixtm/pmcqj50j/1/

谢谢你 。

Ultrazz008

请尝试这个小提琴:https : //jsfiddle.net/qqx1w1ef/4/

$("#add-div").on('click',function(){
      var last_element = $('body').find('.new-div:last');
      var position_top = last_element.offset().top + last_element.outerHeight() + 10;
      $(".new-div:last").after('<div class="new-div" style="z-index:1; position:absolute; top: '+position_top+'px;">message</div>');
});

我现在就做到了,它使用了最后一个元素,并将其位置top + height求和,然后再添加10个像素。

因此,您将获得绝对位置,并且始终在最后一个元素处添加新的追加。

修改过的jsFiddle:https ://jsfiddle.net/pmcqj50j/5/

要停止溢出,您可以使用以下css(也更新了小提琴):

.parent-div { max-width: 236px; width: 236px; position: relative; overflow: hidden; }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章