0

我有一个“隐藏对象”游戏,您可以单击热点,然后显示您找到了该对象。它在除 IE8 之外的所有浏览器中都运行良好,我不知道为什么。

热点是定位的 DIV,使用 CSS 设置:

 .hotspot {
  background-color: none;
  position: absolute;
}

#hs1 {
  width: 40px;
  height: 80px;
  top: 50px;
  left: 200px;
}    

然后是 2,等等。有一个 JQuery 可以在单击时将此类交换为“完成”类:

.done {
  background-color: #ffff00;
  border: 1px solid #ff0000;
}

jQuery是

$('#hs1').click(function(){
        $('#textPanel .title').text("CORRECT!");
        $('#textPanel .body').text("blah blah");
        $(this).addClass('done');
        itemsLeft--;
        updateItemsLeft();
    });

正如我所说,这一切都适用于其他浏览器。问题似乎源于background-color:none- 如果我将初始样式更改为background-color: #ccc,它可以工作(但隐藏点不会被隐藏......)

我被卡住了有什么建议吗?

4

1 回答 1

0

none我猜in没有价值background-color。尝试给予background-color: transparent;并检查。我想这可能会奏效!

这是 IE 的一个已知错误。开始时,在$(document).ready()页面加载到 IE 后给出隐藏代码:

$(document).ready(function(){
    $('#hs1').css('background-color', '#fff');
    $('#hs2').css('background-color', '#fff');
    $('#hs3').css('background-color', '#fff');
    $('#hs4').css('background-color', '#fff');
});

如果这不起作用,请在 CSS 中添加!important

.done {
  background-color: #ffff00 !important;
  border: 1px solid #ff0000;
}

希望这可以帮助!:)

于 2012-06-07T12:08:15.880 回答