我想要做什么应该是一些简单的旋转变换使用CSS转换和转换属性时单击一个元素,但是,旋转似乎并没有停留在其中新的位置。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的点击功能转换:
$(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度时,它会自动回到默认状态。它不会再点击旋转,但在开发人员工具中检查时,转换样式仍会附加到元素。我错过了什么吗?
由于提前, 亚伦
我试过这个,它的工作原理。然而,浮动并不适用于我的设计,但如果没有它,旋转仍会恢复为默认值。然后我尝试使跨度显示内联块(因为浮动使它阻塞我相信),这似乎已经修复它。似乎不喜欢我可以收集的内联元素? – AaronUmhoefer 2014-10-08 11:55:07
@AaronUmhoefer:哦,我的道歉。 “内联块”跨度很好.. 对不起。无论如何,让我更改代码... :) – 2014-10-08 12:35:54