javascript - 如何在不移动原始位置的情况下在另一个元素之前插入一个html元素

标签 javascript html css

我希望能够插入一个用户可以导航(向左)的元素,而不会影响用户当前看到的内容。也就是说,新元素将被插入屏幕外的左侧,但当前“聚焦”的元素(以及其他可见元素)不应被视为移动。 目前我正在使用 insertbefore 执行此操作,测量新元素的 clientWidth 并从容器元素的边距中减去它。但是,获取 clientWidth 的成本很高,而且当我添加过渡时,这种方法被证明是有问题的。有没有更聪明的方法来做到这一点?我原以为这是一个相当普遍的问题 - 在不移动其他所有元素的情况下在另一个元素之前插入一个元素。

最佳答案

您可以使用一些 CSS 来实现此目的。插入一个没有高度但overflow: visible的包装div,在这个div里面插入你想要的元素:

.wrapper {
    height: 0;
    overflow: visible;
}

.wrapper div {
    margin-left: 100%;
}

关于javascript - 如何在不移动原始位置的情况下在另一个元素之前插入一个html元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17644947/

相关文章:

javascript - 我如何在浏览器中知道我的 s3 操作已完成并且我的存储桶的状态是一致的?

javascript - 仅在 IE9 上存在的 ajax 调用中的访问被拒绝

javascript - JQuery-UI Draggable 在鼠标位置拖动

javascript - 在多个地方处理同一个复选框

javascript - 结合js和css : how to deal with relative paths?

javascript - Angular JS - UI路由器不工作

jquery - 我的博客有一个 jquery 评论插件,但我不知道评论存储在哪里?

javascript - 如何将自由绘制的线条作为线条列表获取,其中每条线条都是坐标列表?

html - 当 child 位置固定时从 Bootstrap 容器继承宽度

html - Vimeo Embed : Custom Play Button working. 如何添加暂停按钮?