我知道这可能很荒谬,您可能会说为什么要尝试发明轮子,但这是我目前作为实验所做的工作,它将对我在未来的项目中有所帮助,目前对我来说完全没有财务利润。

整个概念是:


我在Excel-vba中编写了一段代码,该代码打开了IE的一个实例,使我可以将Java脚本代码附加到网页的内容上并执行它(这是刚起步的Firefox Greasemonkey的替代品)。到目前为止成功。
我的Java脚本代码在页面的右下角添加了一个基本上是窄条的菜单,但是当您输入鼠标时,菜单的externalHTML变为:

<DIV style="FILTER: alpha(opacity=95); WIDTH: 450px; HEIGHT: 250px" id=alwaisible>
    <DIV id=dummy onmouseenter=menuButton() onmouseleave=menuButton()>
        <DIV id=MenuButton>_</DIV>
        <DIV id=MenuTitle>Ikariam Assistant</DIV>
        <DIV id=MenuBody>
            <DIV id=MenuBar>
                <DIV class=MenuChoices onclick=Choice(1)>Location</DIV>
                <DIV class=MenuChoices onclick=Choice(2)>innerHtml</DIV>
                <DIV class=MenuChoices onclick=Choice(4)>Call App</DIV>
                <DIV class=MenuChoices onclick=Choice(5)>Extra 1</DIV>
                <DIV class=MenuChoices onclick=Choice(0)>Extra 2</DIV>
                <DIV class=MenuChoices onclick=Choice(0)>Extra 3</DIV>
                <DIV class=MenuChoices onclick=Choice(0)>Extra 4</DIV>
           </DIV>
           <DIV style="HEIGHT: 161px" id=MenuRest>Nothing for now!</DIV>
       </DIV>
   </DIV>
</DIV>

在整个CSS样式中,我遇到的问题是.MenuChoices和.MenuChoices:hover类,如下所示

.MenuChoices{
    border: outset 2px #C7B581;
    color:#FFFFFF;
    background-color: #403924;
    margin: 2px 0px 0px 2px;
    float : left ;
    display : block ;
    width : 82px ;
    text-align : center ;
    z-index : 5001 ;
}
.MenuChoices:hover{
    background-color:#456789 !important;
    cursor: pointer;
}



现在的问题是,当我浏览不同的站点时,无论何时进入MenuChoices之一,我总是会改变鼠标光标的位置,但是只有在某个特定站点中,背景颜色才会更改,而在其他情况下,只有当我单击a连续选择两次或三次,就好像为:visited伪类设置了背景变化一样!我当前的IE版本是8。

知道可能是什么问题吗?

最佳答案

据我所知,在IE8中,只有某些html标记可与:hover一起使用。像“ a”这样的东西会起作用,而div不会。

有关更多信息,请参见此link

10-07 12:10