如果parseInt多项大于1,则执行某些操作

时间:2013-11-19 19:21:02

标签: jquery parseint

我有一个随机生成并放入同位素水平滚动的元素的输出数量,我希望第二行从顶部开始有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/ 如果你能帮助我完成这项工作,我将非常感激。

2 个答案:

答案 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