正如你可以在这里看到的:http://codepen.io/MyXoToD/pen/alkmL 我想将一些JavaScript函数转换成SASS。一切工作正常,但这一功能...SASS random()总是返回相同的值,为什么?
我想转换此:
var pallete = Math.floor(Math.random() * 210);
$("article h2").each(function(i) {
var hue = pallete + (i * 15);
var css = 'background:hsl(' + hue + ',85%,70%); color:hsl(' + hue + ',45%,55%);';
$(this).attr("style", css);
});
弄成这个样子:
@for $i from 1 through $articles {
&:nth-child(#{$i}) {
$random: random(210);
$hue: $random + ($i * 15);
background-color: hsl($hue, 85%, 70%);
color: hsl($hue, 45%, 55%);
}
}
我在这种情况下的问题是,random(210)
总是返回每个页面加载的值相同。是否有可能通过@for
从每次运行中随机获得不同的值?
请注意'random()'目前不是Sass或Compass的函数,它是CodePen特有的(参见https://github.com/chriseppstein/compass/issues/1154和https:// github.com/nex3/sass/pull/904) – cimmanon