用Javascript改变背景位置?

时间:2013-02-25 11:59:39

标签: javascript html css image css-sprites

虽然在我真正需要一个不使用JQuery的解决方案之前我已经可以看到这个问题,但它是一个嵌入式Web界面,我不想要加载jQuery的开销。我需要能够在单个页面上仅使用JS来操作sprite,sprite的状态依赖于某些JS变量。我确信这一定是可能的,但如果不使用JQuery就找不到任何东西。

2 个答案:

答案 0 :(得分:3)

最简单的方法(我认为)是定义自己的css类并更改certan事件的这些关系。即。

<style type="text/css">
.bg1{
/* Some attributes set here */
background-position:cen‌​ter;
}
.bg2{
/* Some attributes set here */
background-position:left;
}

</style>

然后你把你的javascript这样

document.getElementById("some_id").class = "bg2";

答案 1 :(得分:1)

我认为你可以使用Object.style.backgroundPosition =“position”来改变你想要的背景位置。

试试此代码

 <!DOCTYPE html>
<html>
<head>
<style>
div
{
background-image: url('example.png');
background-repeat: no-repeat;
width: 400px;
height: 400px;
border: 1px solid #000000;
}
</style>
<script>
function displayResult()
{
document.getElementById("div1").style.backgroundPosition="center bottom";  
}
</script>
</head>
<body>

<button type="button" onclick="displayResult()">Position background image</button>
<br>
<div id="div1">
</div>

</body>
</html>

Reference