gpt4 book ai didi

javascript - 如何从 JavaScript 设置和触发 css 转换

转载 作者:数据小太阳 更新时间:2023-10-29 06:07:43 26 4
gpt4 key购买 nike

我是 html5、css 和 javascript 的新手,大部分时间我只是在玩。我想要做的是设置并触发一个 div 的转换。页面加载后,我设法通过设置过渡来做到这一点。但这感觉不是很有活力,而且似乎不是正确的方法。我感谢任何帮助

<!DOCTYPE html>
<html>
<head>
<style>
body{
text-align: center;
}

#dialPointer
{
position:relative;
margin-left: auto;
margin-right: auto;
width:23px;
height:281px;
background:url(pointer.png);
background-size:100% 100%;
background-repeat:no-repeat;

transform: rotate(-150deg);
transition-duration: 2s;
transition-delay: 2s;

-webkit-transform: rotate(-150deg);
-webkit-transition-duration:2s;
-webkit-transition-delay: 2s;
}


/* I want to call this once */
.didLoad
{
width:23px;
height:281px;
transform:rotate(110deg);
-moz-transform:rotate(110deg); /* Firefox 4 */
-webkit-transform:rotate(110deg); /* Safari and Chrome */
-o-transform:rotate(110deg); /* Opera */
}

</style>
</head>

<body>
<div id="dialPointer"></div>
<script language="javascript" type="text/javascript">
window.onload=function () {
//But instead of using rotate(110deg), I would like to call "didLoad"

document.getElementById("dialPointer").style.webkitTransform = "rotate(110deg)";


};
</script>
</body>
</html>

最佳答案

触发过渡的方式是让元素匹配 CSS 选择器。最简单的方法是将过渡分配给一个类,然后使用 Javascript 添加该类。所以在你的例子中:

document.getElementById('dialPointer').classList.add('didLoad');

并且您选择的元素将具有动画效果。 (我为此使用了标准 Javascript,但它不适用于旧版浏览器,所以我会把它留给你来让它工作)。

要让它在页面加载时显示动画,请将其放入加载事件中:

window.addEventListener('load', function () {
document.getElementById('dialPointer').classList.add('didLoad');
});

关于javascript - 如何从 JavaScript 设置和触发 css 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11450552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com