jquery - Chrome 浏览器中的 CSS3 转换

标签 jquery html css animation css-transitions

我正在为 div 元素使用 css3 过渡动画。每当悬停在图表中的特定点上时,都需要为 div 元素的左侧和顶部位置设置动画。请引用我们的 svg 图表。

enter image description here

在 chrome 中为 div 元素设置动画时,div 位置始终从浏览器顶部开始,然后平滑过渡有效。每次它从浏览器和动画的顶部开始。但它在其他浏览器上运行良好。请引用下面的div元素代码。

 $(tooltipdiv).css({
                'transition-property': 'left,top',
                '-moz-transition-property': 'left,top', /* Firefox 4 */
                '-webkit-transition-property': 'left,top', /* Safari and Chrome */
                '-o-transition-property': 'left,top',
                '-webkit-transition-timing-function':'linear',
                'transition-duration': series.toolTipOptions.duration,
                '-moz-transition-duration': series.toolTipOptions.duration, /* Firefox 4 */
                '-webkit-transition-duration': series.toolTipOptions.duration, /* Safari and Chrome */
                '-o-transition-duration': series.toolTipOptions.duration /* Opera */
            });

我不希望动画从浏览器顶部开始。我该如何解决这个 Chrome 浏览器?

谢谢,

湿婆

最佳答案

要使其跨浏览器工作,您必须将设置值 transition-propertytransition-timing-functiontransition-duration 设置为在对 topleft 进行更改之前放置。否则转换不会触发。

transition-propertytransition-timing-function 看起来都可以在 css 而不是 javascript 中设置,因为它们的值不是动态的。因此,让我们将它们移到那里。您还应该为 topleft 提供“开始”值,这样它们也可以放在 CSS 中。

接下来,您需要在更改 topleft 之前在 css 中设置 transition-duration,幸运的是我们可以使用简单的 jQuery 来做到这一点链接。

DEMO

关于jquery - Chrome 浏览器中的 CSS3 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658860/

相关文章:

css - 如何通过 NPM 分发 CSS

javascript - 如何为一个元素禁用 JQuery 按键事件?

javascript - 从外部文件调用 jQuery 日期选择器

html - 我怎样才能制作 3 行和 3 列,以便在展开 div 时列向下移动(正文中的图片)

html - 空间满时 CSS 换行

html - css:在 td 顶部对齐跨度

javascript - Ajax成功功能好像不起作用

用于在滚动时更改导航栏颜色的 JavaScript 不起作用

javascript - 如何将动态元素添加到从 React ref 中提取的特定 Html 节点?

带搜索字段的 CSS 菜单 - Chrome、FF 和 IE