首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果图像未旋转,则不调用jquery旋转回调

问如果图像未旋转,则不调用jquery旋转回调
EN

Stack Overflow用户
提问于 2013-08-07 00:51:47
回答 1查看 700关注 0票数 0

我让这段代码旋转一个图像,然后移动它--这很好,除非图像不旋转--这意味着图像的当前角度等于它应该旋转的角度--在这种情况下,回调函数没有被调用,所以没有动画。旋转功能来自一个插件。

代码语言:javascript
复制
$("#Ship" + shipID).rotate({
                    duration: 500,
                    angle: $(this).getRotateAngle(),
                    animateTo: parseInt(rotate),
                    callback: function () {
                        $("#" + shipID).animate({
                            left: parseInt(moveX),
                            top: parseInt(moveY)
                        }, 500, function () {                            
                        });    
                    }
                })

如果动画函数是在旋转之后编写的,那么旋转和动画同时发生。

我不认为我可以强制回调,因为我必须编辑插件(但我不确定)。是否有方法在旋转后编写动画,但等待旋转完成?我想一种方法是使用延迟,但是有没有更合适的方法呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-07 01:23:08

在尝试使用插件执行任何操作之前,您必须检查旋转。我不太确定你将如何检查当前的轮值,但是:

代码语言:javascript
复制
var currentRotation = $("#Ship" + shipID).getRotateAngle();
if(currentRotation != rotate) {
    $("#Ship" + shipID).rotate({
        duration: 500,
        angle: $(this).getRotateAngle(),
        animateTo: parseInt(rotate),
        callback: function () {
            $(this).rotate({
                animateTo: rotate
            });
            $("#" + shipID).animate({
                left: parseInt(moveX),
                top: parseInt(moveY)
            }, 500);
        }
    });
}

根据您的确切设置和插件的工作方式,您可能需要检查插件方法中的currentRotation。或者,您可能需要设置一些事件来执行if语句。再说一遍,这将取决于你是如何把这一切组合在一起的(你怎么知道什么时候你想要旋转的东西?)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18092895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档