【发布时间】:2012-01-13 23:21:07
【问题描述】:
我刚刚开始使用 sprite 来减少 HTTP 请求,但在将用于处理悬停动画的旧脚本转换为新系统时遇到了一点问题。我真的不想为每个按钮设置一个单独的功能,因为这很痛苦,尤其是按钮的数量,即使复制和粘贴也会很痛苦。我也不认为这是最有效的做事方式,远非如此,效率是这里的目标。
我已经做到了这一点:
$(".socButton").hover(function(){
var iD = $(this).attr("id");
var pos = $("#" + iD).css("background-position");
var splitPos = pos.split("px");
splitPos[0] = parseInt(splitPos[0]) += 24;
newPos = splitPos.join("px");
alert(newPos);
}, function(){
});
但 newPos 变量并没有发出警报。我尝试了一些更简单的方法来改变“background-position-x”但没有骰子。
我不确定我是否需要识别元素的 id 才能更改它,但它是在样式表中具有背景位置的 id,而不是类,所以我不太确定。
任何指导都非常感谢。
提前致谢。
编辑:我觉得我还应该指出,在我添加 parseInt 之前它的警报很好,但在我添加它之前出现了一些奇怪的结果。
【问题讨论】:
-
您还想添加什么?你只是提醒 newPos 就这样吗?
-
此时我只是想提醒它,以便查看它是否正常工作,但最终我会将“背景位置”更改为 newPos
-
您可能会发现this 很有帮助
-
答案在下面,但是带有 parseInt 的 += 是导致您出现问题的原因。
标签: javascript jquery css hover sprite