javascript菜单在explorer 8中执行不正确(在chrome和explorer兼容模式下运行良好)

javascript menu not performing correctly in explorer 8 (works fine in chrome and explorer 8 compatability mode)

本文关键字:explorer 模式 运行 chrome 菜单 执行 不正确 javascript      更新时间:2023-09-26

我正在构建一个网站模板,您可以在这里看到:

http://davewallace.net/sunschool/template-test.asp

一切都很顺利,直到我在电脑上登录了explorer(8((我通常在电脑上使用chrome(

问题与(左手(侧菜单有关。。。

我注意到,当单击侧菜单中的第二个父菜单项时(即在一个会话中,在单击另一个后单击一个父菜单项目(,并且每单击一个连续的父菜单项,被单击的前一个父菜单的内容都不会在该时消失,而是停留在屏幕上,而是向上移动,与顶部父菜单项对齐。在chrome中一切都很好,但这只是在explorer中。

*更新*我只是做了更多的研究,并在运行"兼容性模式"的资源管理器中再次查看了该页面,它运行得很好!因此,我将问题归结为explorer8仅在标准模式下运行。

另一次更新*多亏了Ibu,我修复了几个(相对较小的(html错误,她认为这些错误可能是导致问题的原因。不幸的是,事实并非如此***我认为这是一个javascript问题,可能是侧菜单和顶部菜单代码之间的某种代码冲突。。。我真的在尽我最大的努力来解决这个问题,但我希望能有一些javascript大师来帮助我:(

我注意到,这几乎肯定是与用于显示顶部菜单下拉菜单的代码冲突。我知道这一点是因为我以前在一个网站上单独使用过侧菜单代码(没有其他下拉菜单代码(,它在chrome和explorer中都很好。

我包含了一个链接到下面的代码-这一切都组织得很好,希望有人能帮我调试!

http://davewallace.net/stack-overflow/code.zip

副菜单javascript是css-dropdowns.js,我怀疑这个文件中有什么东西需要修改

*不幸的是,这个文件中的一些代码没有换行符,可能很难阅读。对此我深表歉意。我没有写代码:(

其他javascript文件都与顶部菜单相关。

提前感谢你,

希望不要太狡猾!

向致以最良好的问候

dw

好吧,因为我浏览了你的测试页面,看看问题是什么,javascript是问题中最小的:

有不正确的html会导致其他问题。

这是我在控制台中发现的:

<head> must be a child of <html>. Content ignored. template-test.asp:7
Extra <html> encountered.  Migrating attributes back to the original <html> element and ignoring the tag. template-test.asp:28
<meta> is not allowed inside <div>. Moving <meta> into the <head>. template-test.asp:29
Unmatched </li> encountered.  Ignoring tag. template-test.asp:69

因此修复这些错误很可能会修复其他js错误

我自己"解决"了!!Yaaay

虽然我知道这不是最完美的解决方案,但它是有效的,考虑到我在这方面花了多少时间,而且我没有得到建立这个网站的报酬,这对我来说已经足够好了!

我有点惊讶没有人能提出这个建议,不管怎样,我自己解决了,所以我希望我能得到一些童子军分数:(

解决方案如下:

在我的头部内容中添加了以下内容:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">

嘿,普雷斯托。IE 8现在模仿IE 7,问题已经解决。

当然,最终我知道IE 8仍然不喜欢代码中的一些问题,如果有人愿意向我指出,我将不胜感激。但现在,我是一个快乐的小伙子。感谢@Ibu早些时候帮助我清理那些HTML错误!