尝试将多个 div 倾斜到不同的随机角度
Trying to tilt multiple divs to different, random angles
我正在尝试实现与描述相反的结果 here。
我在一个 wordpress 页面中有一系列 div,我希望它们出现在页面上,因为每个 div 随机倾斜到不同的轻微程度。
当用户将鼠标悬停在它们上面时,它们也应该被拉直。
这是我拥有的:
(function($) {
$( document ).ready(function() {
var a = Math.random() * 10 - 5;
$('.format-aside').each(function( index ) {
$(this).css('transform', 'rotate(' + a + 'deg)');})
});
})(jQuery);
起初,我跳过了 .each
部分,但这导致所有 div 都以相同的方式倾斜。然而,即使 .each
他们仍然以同样的方式倾斜。
关于悬停效果,我在CSS页面设置了:
.format-aside:hover{-ms-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
transform: rotate(0deg);}
当所有这些都在 CSS 中完成时它起作用了(当然所有 div 都以相同的方式倾斜)。现在它不再起作用了,所以我想我应该在 jQuery?
中添加悬停效果
它们都倾斜相同数量的原因是因为您在迭代元素之前计算了度数。相反,您应该为每个元素计算一个角度:
(function($) {
$( document ).ready(function() {
$('.format-aside').each(function( index ) {
// rotation degree between -5 and 5
var a = Math.random() * 10 - 5;
$(this).css('transform', 'rotate(' + a + 'deg)');})
});
})(jQuery);
至于悬停效果尝试添加!important
选项:
.format-aside:hover {
-ms-transform: rotate(0deg) !important;
-webkit-transform: rotate(0deg) !important;
transform: rotate(0deg) !important;
}
您的 CSS 不起作用的原因是 jQuery 将规则应用于元素作为内联样式。这些比任何 CSS 选择器的优先级都高。使用 !important
规则你可以覆盖它。
我正在尝试实现与描述相反的结果 here。
我在一个 wordpress 页面中有一系列 div,我希望它们出现在页面上,因为每个 div 随机倾斜到不同的轻微程度。
当用户将鼠标悬停在它们上面时,它们也应该被拉直。
这是我拥有的:
(function($) {
$( document ).ready(function() {
var a = Math.random() * 10 - 5;
$('.format-aside').each(function( index ) {
$(this).css('transform', 'rotate(' + a + 'deg)');})
});
})(jQuery);
起初,我跳过了 .each
部分,但这导致所有 div 都以相同的方式倾斜。然而,即使 .each
他们仍然以同样的方式倾斜。
关于悬停效果,我在CSS页面设置了:
.format-aside:hover{-ms-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
transform: rotate(0deg);}
当所有这些都在 CSS 中完成时它起作用了(当然所有 div 都以相同的方式倾斜)。现在它不再起作用了,所以我想我应该在 jQuery?
中添加悬停效果它们都倾斜相同数量的原因是因为您在迭代元素之前计算了度数。相反,您应该为每个元素计算一个角度:
(function($) {
$( document ).ready(function() {
$('.format-aside').each(function( index ) {
// rotation degree between -5 and 5
var a = Math.random() * 10 - 5;
$(this).css('transform', 'rotate(' + a + 'deg)');})
});
})(jQuery);
至于悬停效果尝试添加!important
选项:
.format-aside:hover {
-ms-transform: rotate(0deg) !important;
-webkit-transform: rotate(0deg) !important;
transform: rotate(0deg) !important;
}
您的 CSS 不起作用的原因是 jQuery 将规则应用于元素作为内联样式。这些比任何 CSS 选择器的优先级都高。使用 !important
规则你可以覆盖它。