显示/隐藏按钮在Mac上不起作用

时间:2011-08-13 20:22:56

标签: javascript html css

因此,显示/隐藏按钮在Windows上的所有浏览器中都能正常工作,但在Mac上的Safari和Google Chrome中无法正常工作。它要么根本不显示/隐藏列表,要么只显示部分项目...... 我使用(Son of) Suckerfish

用于多级下拉列表。 这是URL: http://eximi.dreamhosters.com/Hawaii/pkdiet/pkd.php

显示/隐藏按钮的JavaScript:

function toggleDiv()  
      {  
        if (document.getElementById("submenu").style.display == "block")  
        {  
          document.getElementById("submenu").style.display = "none";  
        }  
        else  
        {  
          document.getElementById("submenu").style.display = "block";  
        }  
      }

'suckerfish'部分的CSS:

#nav, #nav ul {
    float: left;
    width: 14em;
    list-style: none;
    line-height: 1;
    font-family: Tunga, sans-serif;
    font-size: 12px;
    font-weight: bold;
    padding: 0;
    margin: 0 0 1em 0;
}

#nav a {
    display: block;
    width: 10em;
    w\idth: 6em;
    color: #996637;
    text-decoration: none;
    padding: 0.25em 2em;
}

#nav a.daddy {
    background: url(rightarrow2.gif) center right no-repeat;
}

#nav li {
    /*float: left;*/
    padding: 0;
    width: 10em;
}

#nav li ul {
    position: absolute;
    left: -999em;
    height: auto;
    width: 14.4em;

    font-weight: normal;
    border-width: 0.25em;
    margin-left : 10.05em;
    margin-top : -1.35em;
}

#nav li li {
    padding-right: 1em;
    width: 13em
}

#nav li ul a {
    width: 13em;
    w\idth: 9em;
}

#nav li ul ul {
    margin: -1.75em 0 0 14em;
}

#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li.sfhover ul ul, #nav li.sfhover ul ul ul {
    left: -999em;
}

#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li.sfhover ul, #nav li li.sfhover ul, #nav li li li.sfhover ul {
    left: auto;
}

您可以在上面的网址源代码中看到HTML。 谢谢!

4 个答案:

答案 0 :(得分:2)

你suckerfish.js我在google chrome上收到了这个错误:

uncought SyntaxError: unexpectect token <

虽然在Firefox中有效,但却给我带来了这个错误:

XML can't be the whole program 
//--><!]]></script>

似乎你的XML结构评论搞砸了你,唯一的区别是chrome停在第一行的乞讨和最后的firefox

答案 1 :(得分:0)

我收到错误:

Uncaught TypeError: Cannot read property 'style' of null

我猜你的页面上没有带有ID“子菜单”的元素。

在Chrome中,包含“onClick”功能的输入元素略高于按钮。

答案 2 :(得分:0)

您的问题不在脚本本身,而在于您构建脚本标记的方式:

<script type="text/javascript"><!--//--><![CDATA[//><!--
...
//--><!]]></script>

这可以是:

<script type="text/javascript">
...
</script>

或者如果你想保留CDATA进行XML验证:

<script type="text/javascript">
//<![CDATA[
...
//]]>
</script>

答案 3 :(得分:0)

suckerfish:js第1行:Uncaught SyntaxError: Unexpected token <

把它拿出来,你很高兴。