180度旋转后将图像返回到原始位置

时间:2013-05-03 09:28:29

标签: jquery html css webkit-transform

我在下面编写代码来翻转图像。我正在设置-webkit-transform=rotateY(180deg),但在click事件中,我想将图像恢复到原始位置。我尝试了-180值,但它无效。

var status=1;
function flipIt(obj) {
    //$(obj).wrap("<div class='centerImage'></div>")

    console.log("value before Function status   "+status);

    if(status==1) {
        $(obj).css("-webkit-transform-style","preserve-3d");
        $(obj).css("-webkit-transition","all 1.0s linear");
        $(obj).css("transform-style","preserve-3d");
        $(obj).css("transition","all 1.0s linear");

        $(obj).css("-webkit-transform","rotateY(180deg)");
        $(obj).css("transform","rotateY(180deg)");
        //$(obj).css("box-shadow","-5px 5px 5px #aaa");

        status=0;
        console.log("after if value set status   "+status);
    } else {
        $(obj).css("-webkit-transform-style","preserve-3d");
        $(obj).css("-webkit-transition","all 1.0s linear");
        $(obj).css("transform-style","preserve-3d");
        $(obj).css("transition","all 1.0s linear");

        $(obj).css("-webkit-transform","rotateY(-180deg)");
        $(obj).css("transform","rotateY(-180deg)");
        status=1;

        console.log("ater else value set status   "+status);
    }
}

请帮助。

2 个答案:

答案 0 :(得分:4)

尝试将其设置为0,而不是减去180。

$(obj).css("transform","rotateY(0deg)");

然后它不会旋转,因为我认为它是相对于其原始旋转计算的。

答案 1 :(得分:1)

我自己有点新手,但我相信旋转是相对于原始位置的,所以将旋转设置为0将使其返回到原始旋转。在相关的注释中,当使用转换时,请记住x的旋转与360 - x的旋转不同,它将影响它旋转的方向。