jQuery .css()属性根本不起作用(没有错误)?

时间:2011-09-22 19:47:00

标签: jquery html css

作为upvote / downvote系统的一部分(如在stackoverflow或Reddit上)我正在使用jQueries .css()属性在单击upvote或downvote箭头时更改背景位置:

jQuery代码:

$(document).ready(function() {
    $('#vpUp').click(function() {
        $('.vpVote').css('background-position','28 0;');
        var pId=1;
        vpVoteF(pId,1);
    });
    $('#vpDown').click(function() {
        $('.vpVote').css('background-position', '56 0;');
        var pId=1;
        vpVoteF(pId,-1);
    });
});

HTML:

<div class="vpVote">
    <div class="vpUD" id="vpUp"></div>
    <div class="vpUD" id="vpDown"><span id="vpVoteText"><?php echo $Votes; ?></span></div>
</div>

背景位置会将背景图像更改为突出显示的upvote或突出显示的downvote。但是,代码似乎根本没有运行。当我在任一功能中发出警报时,它会在我点击#vpUp或#vpDown时发出警报,但它们不会更改背景位置,而在使用firebug打开的Chrome和Firefox中没有错误。

我完全不知所措。

注意:您可以在此处看到投票的实时演示(不是):http://www.texturepacker.net/viewPacks2.php

2 个答案:

答案 0 :(得分:5)

用你的位置指定 UNITS (px)。

答案 1 :(得分:2)

$(document).ready(function() {
    $('#vpUp').click(function() {
        $('.vpVote').css('background-position','28px 0px');
        var pId=1;
        vpVoteF(pId,1);
    });
    $('#vpDown').click(function() {
        $('.vpVote').css('background-position', '56px 0px');
        var pId=1;
        vpVoteF(pId,-1);
    });
});