jquery - 使用 Jquery 将标签移动到另一个 DOM 元素并进行 CSS3 转换

标签 jquery css

我的想法是有一个 div 标签来代表网站容器区域中的大 Logo ,当滚动到某个部分时,它将 div 移动到导航栏部分,但进行 CSS3 转换,以便移动元素效果不错。

我使用 jquery 更改 div 的 id,然后使用 appendTo 将其移动到 DOM 中的导航中。但是过渡效果并没有消失,它只是立即将 div 移动到导航中。我正在使用的代码 Jquery 代码是

$('#logoTitle').appendTo('.navigation');
$('#logoTitle').attr('id','navLogo');

我添加了过渡:全部 .5 轻松;在 css 文件中的两个 id 上,因为我想在滚动一直向上时将 Logo 移回原位。

我猜这里的过渡是错误的,因为我没有指定正在过渡的机器人的任何宽度、高度或顶部。

我认为我将元素移动到导航栏中的方法是完全错误的。我可以通过将 Logo 过渡到 position: fixed; 来做到这一点然后设置它应该放置的位置。

但由于我还有一个函数可以在某些事件中隐藏导航栏,因此该解决方案对我来说效果不佳,这就是我采用这种方法解决问题的原因。但是无法理解应该如何触发动画,然后在动画完成后将元素放入 dom 中,稍后我将使用 jquery 将其隐藏。

我熟悉 scroll touchmove 上的事件,这对我来说不是移动和动画的问题。

最佳答案

大多数情况下,您需要针对此类动画问题的特定解决方案。但是,我能想到的最简单的方法是使用 position: fixedtop/left 移动 Logo 。

移动到正确位置后,你必须在position: fixed logo后面的导航中显示logo,然后将position: fixed logo设置为不透明度:0

如果它位于完全正确的位置,没有人会知道实际上有两个 Logo 。

希望你明白我想说的。

关于jquery - 使用 Jquery 将标签移动到另一个 DOM 元素并进行 CSS3 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37156216/

相关文章:

jquery - 表格中的点击事件 <td> - 改变颜色

javascript - NodeJS + Express 与 Ajax

javascript - 根据标记使 Google map 居中

javascript - 检测 beforeunload 事件是否被不相关的函数取消

html - 创建易于维护的新闻页面应该注意什么?

jquery - z-index 问题的解决方法

jquery - Bootstrap使用Jquery和ajax切换切换功能

javascript - 使用 vanilla JavaScript,我如何访问 jQuery 的 .data() 方法存储的数据?

html - 我应该如何设置文本位置?

html - 为什么 MDN 建议在视口(viewport)标签中使用 initial-scale=0.86 和 minimum-scale=0.86 来抑制水平滚动?