当前位置: 代码迷 >> JavaScript >> 如何使用CSS和Javascript透视图像
  详细解决方案

如何使用CSS和Javascript透视图像

热度:74   发布时间:2023-06-06 09:33:20.0

我正在尝试围绕特定点旋转图像。 我一直在关注以下示例: :

但是,在javascript指令中实现此功能时,我遇到了一些问题。 我对该指令的代码如下:

angular.module('GbTestApp').directive('rotate', function () {
    return {
    restrict: 'A',
    link: function (scope, element, attrs) {
        scope.$watch(attrs.degrees, function (rotateDegrees) {
            console.log(rotateDegrees);
            var r = 'rotate(' + rotateDegrees + 'deg)';
            element.css({
                '-moz-transform': r,
                '-moz-transform-origin': 50% 50%,
                '-webkit-transform': r,
                '-webkit-transform-origin': 50% 50%,
                '-o-transform': r,
                '-o-transform-origin': 50% 50%,
                '-ms-transform': r,
                '-ms-transform-origin': 50% 50%,
                'transform-origin': 50% 50%
            });
        });
    }
    }
});

当我取出所有转换原点部分时,此函数起作用,因此我相信这只是我所没有看到的某种格式错误。 任何帮助将不胜感激!

您需要用引号将50% 50%换成50% 50% "50% 50%"

但是,我建议将所有transform-origin样式移到样式表,然后通过类将它们添加到图像中。 例:

img.turnable {
  -moz-transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  -o-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

然后将class="turnable"应用于该元素,您只需更新即可将其旋转。

  相关解决方案