在jquery中使用transform两次

时间:2016-07-19 18:54:14

标签: javascript jquery css css-transforms

我用过

$(".container").css("transform", "translate3d(450px,0,0)")

在我的jQuery代码中(第10行)。现在我必须为我的容器添加比例,所以我在代码中添加了以下行

$(".container").css("transform", "scale(1.5)")

但是现在它改写了我以前的转换wiz translate3d我想要跟翻译一起添加比例。我该怎么做?

注意:第一次转换和第二次转换完全不同。所以

$(".container").css("transform", "translate3d(450px,0,0) scale(1.5)")

不会工作。

更新

我尝试将当前转换保存在变量中,然后添加新转换,如下所示

container.on({
    mouseenter: function () {
        var currentTransform = $(this).css("transform");
        $(this).css("transform", currentTransform + "scale(1.5)")
    }
    , mouseleave: function () {
        var currentTransform = $(this).css("transform");
        $(this).css("transform", currentTransform + "scale(1.0)")
    }
});

但现在在mouseleave规模上不会改变。它没有恢复原状。

备注

当我执行console.log(currentTransform)时,它以矩阵形式提供转换信息。我仍然没有得到如何删除此错误。请帮忙。


提前谢谢你。

1 个答案:

答案 0 :(得分:0)

这可能不是正确的方法,但对我来说效果很好。

events.on({
    mouseenter: function () {
        var currentTransform = $(this).css("transform");
        $(this).css("transform", currentTransform + "scale(1.5)")
    }
    , mouseleave: function () {
        var currentTransform = $(this).css("transform");
        var str = currentTransform.split(",")
        str[0] = "matrix(1"
        str[3] = "1"
        $(this).css("transform", str)
    }
});

在此修改中,我将当前字符串拆分为逗号,然后修改了与缩放相关的那些部分。