使用javascript旋转图像

Rotate images with javascript

本文关键字:图像 旋转 javascript 使用      更新时间:2023-09-26

我可以用javascript旋转li项吗?

我有一个脚本。它将随机的li项以固定的位置放在页面上。但是我可以给这li项一个旋转吗?我想让每件物品再旋转一次。我怎样才能给这八个项目一个固定的位置呢?

这是我的脚本:

var images = [];
        // Constructor for the "Position" structure
        function Position(left, top) {
            this.left=left;
            this.top=top;
        }
        // sortFunction routine to help randomize array
        function rand(ar){
            return 0.5-Math.random();
        }
        // Array containing the 8 positions you want to use
        var positionArray = [
              new Position(0,  0) 
            , new Position(50, 50) 
            , new Position(100,100) 
            , new Position(150,150) 
            , new Position(200,200) 
            , new Position(250,250) 
            , new Position(300,300) 
            , new Position(350,350) 
        ];
        function init() {
            $('.friend-selection li > div').each(function(){
                var id = this.id;
                var img = $('#img_' + id);
                var imageIndex = parseInt(id.substring(id.length - 1))-1; // This is a hack because you're using "picture*" as the id
                $("#parent_" + id).css({ //apply the position to parent divs
                    top     : positionArray[imageIndex].top,
                    left    : positionArray[imageIndex].left
                });
            });
        };

        // Randomize array - http://stackoverflow.com/questions/7802661
        positionArray.sort(rand);
        init(); 
function rotate(object, degrees) {
    object.css({
  '-webkit-transform' : 'rotate('+degrees+'deg)',
     '-moz-transform' : 'rotate('+degrees+'deg)',  
      '-ms-transform' : 'rotate('+degrees+'deg)',  
       '-o-transform' : 'rotate('+degrees+'deg)',  
          'transform' : 'rotate('+degrees+'deg)',  
               'zoom' : 1
    });
}

调用该函数,例如:

rotate($("#image1"), 15)

jsfiddle: http://jsfiddle.net/hLqJb/

CSS3具有旋转可用性,但并非适用于所有浏览器。如果你不依赖于浏览器特定的功能,你可以使用它。

-webkit-transform: rotate(15deg);
-moz-transform:rotate(15deg);
-o-transform:rotate(15deg);
-ms-transform:rotate(15deg);
transform:rotate(15deg);

翻译成jQuery,应该很好去