【发布时间】:2014-10-08 10:44:26
【问题描述】:
我正在尝试在单击元素时使用 CSS 变换和过渡属性对某些文本进行简单的旋转变换,但是,旋转似乎并没有停留在其新位置。
HTML如下:
<div class="accordion-btn">
<span class="arrowGreen">></span> <a href="#">Show help</a>
</div>
我将箭头的 CSS 过渡设置如下:
.arrowGreen {
-moz-transition: 0.5s ease-in-out;
-webkit-transition: 0.5s ease-in-out;
transition: 0.5s ease-in-out;
}
然后我使用 jQuery click 函数来应用转换,如下所示:
$(document).ready(function () {
$('.accordion-btn').click(function (e) {
e.preventDefault();
if ($(this).find('.arrowGreen').css('transform') != "rotate(90deg)")
{
$(this).find('.arrowGreen').css({ '-ms-transform': 'rotate(90deg)', '-moz-transform': 'rotate(90deg)', '-webkit-transform': 'rotate(90deg)', 'transform': 'rotate(90deg)' });
}
else
{
$(this).find('.arrowGreen').css({ '-ms-transform': 'rotate(-90deg)', '-moz-transform': 'rotate(-90deg)', '-webkit-transform': 'rotate(-90deg)', 'transform': 'rotate(-90deg)'});
}
}
这在一定程度上有效。单击元素时,跨度确实会旋转,但是,当它达到 90 度时,它会自动恢复到默认状态。然后它将不再在单击时旋转,但是在开发人员工具中检查它时,变换样式仍然附加到元素上。我错过了什么吗?
提前致谢, 亚伦
【问题讨论】:
标签: javascript jquery html css transform