我试图根据变量的值设置一个元素的background-image
属性。它只有第一次运作。当我切换到就绪状态时,背景图像停止变化。图像本身很小 - 大约8-10 kB。使用jQuery设置背景图像只能改变背景一次
这是我的代码:
if(status != '') {
console.log('status');
console.log(status);
switch(status) {
case 'dev':
$('#status').css('background-position','0px -160px');
break;
case 'ready':
$('#status').css('background-position','0px -240px');
break;
case 'soon':
$('#status').css('background-position','0px 0px');
break;
case 'design':
$('#status').css('background-position','0px -80px');
break;
}
}
这里来CSS的元素:
#status {
z-index: 1;
float: right;
height: 80px;
width: 80px;
background: url(/images/front/status-sprite.png);
background-position: 0px -160px;
margin: 0 10px 0 0;
}
行为并没有改变。背景图像会更改为准备就绪,但不会变回。
编辑:使用由csssprites.com生成的精灵来更新代码。
控制台(镀铬)或萤火虫显示的东西? – steo 2013-04-11 08:40:16
不,完全没有。没有文件丢失的报告等 – Elmor 2013-04-11 08:42:16
第一次后,图像将不会再从服务器加载(如缓存在计算机中)。我想这可能是原因。我通常将图像合并为图像精灵并移动背景位置。请参阅http://css-tricks.com/css-sprites/ – Mifeng 2013-04-11 08:42:47