我有一个基于YOffset旋转和来回图像的代码。但是,我想知道如何获得我的图像旋转的度数,并将其用作我的if语句。
代码:
<script type="text/javascript">
$(function() {
var sdegree = 0;
$(window).scroll(function() {
sdegree = ( window.pageYOffset > 1000 ) ? sdegree + 4 : sdegree - 4;
var srotate = "rotate(" + sdegree + "deg)";
$(".plane").css({
transform : srotate
});
});
});
</script>
我想要的是什么:
<script type="text/javascript">
$(function() {
var sdegree = 0;
$(window).scroll(function() {
sdegree = ( //INSERT DEGREES that .plane has been rotated > 30deg )// ? sdegree + 4 : sdegree - 4;
var srotate = "rotate(" + sdegree + "deg)";
$(".plane").css({
transform : srotate
});
});
});
</script>
答案 0 :(得分:0)
我实际上最近也必须得到一个元素的旋转度。我的方法与此类似:
function calculateAngle(element) {
var tr = (window.getComputedStyle(element, null)).getPropertyValue("-webkit-transform"),
values = tr.split("(")[1],
values = values.split(")")[0],
values = values.split(","),
a = values[0],
b = values[1],
c = values[2],
d = values[3],
radians = Math.atan2(b, a);
if (radians < 0) {
radians += (2 * Math.PI);
}
return Math.round(radians * (180 / Math.PI));
}
var element = document.getElementById("rotate");
calculateAngle(element);
然后,您可以根据角度使用所需的if
语句。