2010-10-01 93 views
2

我有一些图片(20)的一个div,我喜欢上一些让小小的旋转说+ -2dgjQuery的随机旋转

我有尝试,但没有成功......所有的图像都同等地旋转

/* By default, we tilt all our images -2 degrees */ 
#gallery2 img { 
    -webkit-transform: rotate(-2deg); 
    -moz-transform: rotate(-2deg); 
    } 

/* Rotate all even images 2 degrees */ 
#gallery2 img:nth-child(even) { 
    -webkit-transform: rotate(2deg); 
    -moz-transform: rotate(2deg); 
    } 

/* Don't rotate every third image, but offset its position */ 
#gallery2 img:nth-child(3n) { 
    -webkit-transform: none; 
    -moz-transform: none; 
    } 

/* Rotate every fifth image by 5 degrees and offset it */ 
#gallery2 img:nth-child(5n) { 
    -webkit-transform: rotate(5deg); 
    -moz-transform: rotate(5deg); 
    } 

所以我喜欢有jQuery的代码,将通过在div的所有图像,并将其+瓯随机旋转 - 2 DG

有人知道热做到这一点?

+0

请问CSS不正确旋转图像?如果是这样,那么你不需要发布样式,而是你的JavaScript遇到麻烦。 – rfunduk 2010-10-01 19:34:02

回答

5
$("#gallery2 img").each(function() { 
    var rNum = (Math.random()*4)-2; 
    $(this).css({ 
    '-webkit-transform': 'rotate('+rNum+'2deg)', 
    '-moz-transform': 'rotate('+rNum+'2deg)' 
    }); 
}); 
-1

我有尝试的..很好地工作,但你的代码是更好的和更短的

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#gallery2 img").each(function() { 
    var posneg = Math.floor((Math.random() * 2) ); 
    if (posneg == 0) {posneg=-1} else {posneg=1}; 
    var angle = Math.floor((Math.random() * 5) * posneg); 
    $(this).css('transform', 'rotate(' + angle + 'deg)'); 
    $(this).css('-moz-transform', 'rotate(' + angle + 'deg)'); 
    $(this).css('-webkit-transform', 'rotate(' + angle + 'deg)'); 
    $(this).css('-o-transform', 'rotate(' + angle + 'deg)'); 
    alert(angle); 

    }); 
    }); 
</script>