作为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
答案 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);
});
});