jQuery css('transform')返回none

时间:2013-12-17 08:24:33

标签: jquery transform css-transforms

我正在开发一个自定义设计应用程序。它有四个图像,由于比例和拖动位置而附加了变换属性。

当我尝试使用jQuery访问此属性时,它会返回前3个,但最后一个显示值,尽管它们都具有与之关联的值。

如果我尝试使用2或3张图像,那么它也会在我需要所有图像时返回最后一个值。

提前感谢您对此查询的任何帮助,因为我正在解决这个过去很多天,但没有成功。

<script>
function generate preview(){
var design_type=$("#block_id").val();
if((design_type=="single")||(design_type=="double")||(design_type=="three")||(design_type=="four")){
                var image1=$('#design_block_'+design_type+' #droppable1 img').attr('id');
                var img_src1=$('#'+image1).attr('src');
                var org_img_src1=$('#'+image1+'_main_image').val();
                var current_angle1=$('#'+image1+'_angle').val();
                var current_effect1=$('#'+image1+'_effect').val();
                var image_transform1=$('#'+image1).css('transform');
                alert(image_transform1);
            }

            if((design_type=="double")||(design_type=="three")||(design_type=="four")){
                var image2=$('#design_block_'+design_type+' #droppable2 img').attr('id');
                var img_src2=$('#'+image2).attr('src');
                var org_img_src2=$('#'+image2+'_main_image').val();
                var current_angle2=$('#'+image2+'_angle').val();
                var current_effect2=$('#'+image2+'_effect').val();
                var image_transform2=$('#'+image2).css('transform');
                alert(image_transform2);
            }

            if((design_type=="three")||(design_type=="four")){
                var image3=$('#design_block_'+design_type+' #droppable3 img').attr('id');
                var img_src3=$('#'+image3).attr('src');
                var org_img_src3=$('#'+image3+'_main_image').val();
                var current_angle3=$('#'+image3+'_angle').val();
                var current_effect3=$('#'+image3+'_effect').val();
                var image_transform3=$('#'+image3).css('transform');
                alert(image_transform3);
            }

            if(design_type=="four"){
                var image4=$('#design_block_'+design_type+' #droppable4 img').attr('id');
                var img_src4=$('#'+image4).attr('src');
                var org_img_src4=$('#'+image4+'_main_image').val();
                var current_angle4=$('#'+image4+'_angle').val();
                var current_effect4=$('#'+image4+'_effect').val();
                var image_transform4=$('#'+image4).css('transform');
                alert(image_transform4);
            }
}
</script>
<body>
<div id="design_block_four" style="position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; overflow: hidden; display: inline-block; z-index: 90;">
<div style="width:49%; height:100%; float:left; border-right:2px solid #000000;position:relative;">
<div style="width:100%; height:49%; float:left; border-bottom:2px solid #000000;position:relative;">
<div style="overflow: hidden;" id="droppable1" class="drop ui-droppable"><img style="transform: matrix(1, 0, 0, 1, -100, -53); cursor: move; transition: none 0s ease 0s ;" src="user_img/22080_work.jpg" class="dropped" id="dropped_407853"></div>
</div>
<div style="width:100%; height:50%; float:left;position:relative;">
<div style="overflow: hidden;" id="droppable2" class="drop ui-droppable"><img style="transform: matrix(1, 0, 0, 1, -98, -113); cursor: move; transition: none 0s ease 0s ;" src="user_img/20540_work.jpg" class="dropped" id="dropped_29179"></div>
</div></div>
<div style="width:50%; height:100%; float:right;position:relative;">
<div style="width:100%; height:49%; float:left; border-bottom:2px solid #000000;position:relative;">
<div style="overflow: hidden;" id="droppable3" class="drop ui-droppable"><img style="transform: matrix(1, 0, 0, 1, -73, -133); cursor: move; transition: none 0s ease 0s ;" src="user_img/11241_work.jpg" class="dropped" id="dropped_544668"></div>
</div>
<div style="width:100%; height:50%; float:left;position:relative;"><div style="overflow: hidden;" id="droppable4" class="drop ui-droppable"><img style="transform: matrix(1, 0, 0, 1, -114, -115); cursor: move; transition: none 0s ease 0s ;" src="user_img/11070_work.jpg" class="dropped" id="dropped_542637"></div></div></div>
</div></body>

上面的代码有4个img标签,并且都有不同的转换属性,但javascript代码只返回最后一个的值,其余的返回为无。

此致 Anoop

3 个答案:

答案 0 :(得分:0)

试试这个:

getComputedStyle($('[element selector]'))['-webkit-transform'];

答案 1 :(得分:0)

在我的情况下,因为它被视为样式属性,所以 $(selector).attr('style')将返回整个样式字符串。 仍然试图找出为什么这不被认为是计算风格。 D3.js具有相同的行为。

答案 2 :(得分:0)

尝试此操作以获取变换属性值

{\"Errors\":[\"Resource Not Found\"]}...