我有一个随机生成并放入同位素水平滚动的元素的输出数量,我希望第二行从顶部开始有50%的高度具有不同的叠加颜色。
我已经做到这一点,但似乎没有用,我在Stack Overflow上找不到类似的内容。
$(function(){
if ( parseInt($('.item').css('top'), 10) < 1 ) {
$(this).find('.overlay').css('background','#ff3366');
}
if ( parseInt($('.item').css('top'), 10) > 1 ) {
$(this).find('.overlay').css('background','#0099ff');
}
});
JSFiddle的例子很快拼凑起来给出一个想法? http://jsfiddle.net/6tRwV/
如果你能帮助我完成这项工作,我将非常感激。
答案 0 :(得分:1)
你基本上需要遍历所有.item
元素并完成你已经拥有的逻辑。
$(function(){
$('.item').each(function(){
var $item = $(this);
var top = parseInt($item.css('top'),10);
if ( top < 1 ) {
$item.find('.overlay').css('background','#ff3366');
}
if ( top > 1 ) {
$item.find('.overlay').css('background','#0099ff');
}
})
});
JsFiddle:http://jsfiddle.net/6tRwV/2/
与jQuery一样,通常有一个更短的方式:
$(function(){
$('.overlay').css('background',function(){
var top = parseInt($(this).parent().css('top'),10);
return top<1 ? '#ff3366' : '#0099ff';
});
});
jsFiddle:http://jsfiddle.net/6tRwV/3/
答案 1 :(得分:0)
使用:
$('div.item').each(function(){
if (parseInt($(this).css('top'), 10) < 1) {
$(this).find('.overlay').css('background', '#ff3366');
}
if (parseInt($(this).css('top'), 10) > 1) {
$(this).find('.overlay').css('background', '#0099ff');
}
});
<强> jsFiddle example 强>