IE 8 中的 JQuery 手风琴错误?解决方法?

发布于 2024-09-06 20:10:01 字数 340 浏览 6 评论 0原文

要查看此手风琴动画错误,请使用 Internet Explorer 8 (IE8) 转至 http://hopplayground.com/

单击“生物”。第一次单击菜单项应打开子菜单。但事实并非如此,什么也没有出现。第二次单击会关闭菜单,但会留下伪影。使用其他菜单可以正常工作。

问题:是什么导致了这个故障,有没有办法解决或解决它?

我正在使用 jQuery 1.4.2 和 jQuery UI 1.8.2。该功能在 Firefox 和 Safari 中完美运行。

TTFN 特拉维斯

To see this accordion animation bug, go to http://hopplayground.com/ with Internet Explorer 8 (IE8)

Click on "Bios". The first click on a menu item should open the submenu. But it doesn't, nothing appears. The second click kind of closes the menu, but leaves artifacting. Using other menus works correctly.

Question: What is causing this glitch, and is there a way to solve it or work around it?

I'm using jQuery 1.4.2 with jQuery UI 1.8.2. The functionality works perfectly in Firefox and Safari.

TTFN
Travis

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

滴情不沾 2024-09-13 20:10:01

不确定问题是什么,所以如果可以使用解决方法而不是解决方案,该页面在 IE7 中适用于我,因此您可以将以下元标记添加到文档中

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

这将强制 IE8 进入 IE7 兼容模式。使用此标签可以减少跨浏览器问题。

Not sure what the problem is, so if a workaround will do instead of a solution, the page works for me in IE7 so you can add the following meta tag into your document <head>:

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

This will force IE8 into IE7 compatibility mode. Using this tag reduces cross-browser issues.

夜司空 2024-09-13 20:10:01

只是想我会投入两分钱。根据 mVChr 的答案,您可以使用:

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

通过将其设置为边缘,它会强制 IE 使用最新的可用渲染引擎。我遇到了同样的问题,这对我来说是一个解决方案。

如果您需要更多信息,这个家伙的网站会详细讨论它:

http://farukat.es/journal/2009/05/245-ie8-and-the-x-ua-兼容-情况

Just thought i would throw my two cents in. Based on mVChr's answer, you could use:

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

By setting it to edge it forces IE to use the latest rendering engine available. I had the same problem, and this was a fix for me.

This guys website talks more about it if your looking for more info:

http://farukat.es/journal/2009/05/245-ie8-and-the-x-ua-compatible-situation

成熟的代价 2024-09-13 20:10:01

您可以向手风琴添加样式,例如:
.accordion {显示:表}
因为 ie 在显示方面有一些问题:jquery 使用的内联...

you can add styles to the accordion like:
.accordion {display:table}
because of ie has some problem with display:inline which jquery uses...

聚集的泪 2024-09-13 20:10:01

根据 RikawaS 的回复...

在您的手风琴标题上,放置以下 css 代码:

.accordionHeader
{
显示:表;
宽度:100%;
如果

您发现标题在它们之间悬停时仍然跳跃,请使用纯色的边框顶部,而不是使用边距和填充。当然,这仅适用于纯色之上的设计(边框颜色需要与背景颜色匹配)。这是一个例子:

.accordionHeader
{
顶部边框:10px 实线#FFFFFF;

将立即修复 IE8!这花了我一年的时间才弄清楚,哈哈。

Based on RikawaS's response...

On your accordion headers only, place the following css code:

.accordionHeader
{
display: table;
width: 100%;
}

If you find that the headers still jump when hovering between them, use a border-top using a solid colour rather than using margin and padding. Of course this only works on designs ontop of solid colours (the border colour would need to match the background colour). Heres an example:

.accordionHeader
{
border-top: 10px solid #FFFFFF;
}

This will fix IE8 right up! This has taken me a year to figure out lol.

邮友 2024-09-13 20:10:01

我从另一篇文章中得到了这个:

这是它的链接:为什么 jQuery 手风琴部分无法在 IE 8 中激活?

我遇到了同样的问题。 IE 对正确的 html 非常挑剔,并确保在手风琴内部没有任何内容超出

structure, for example, it you have this:

<h3>a header</h3>
<div>some content</div>
<h3>another header</h3>
<div>some more content</div>

它会起作用,但这不会:

<h3>a header</h3>
<div>some content</div>
<span>extra stuff</span>
<h3>another header</h3>
<div>some more content</div>

这将全部位于您调用 .accordion() 的任何元素内。

I got this from another post:

Here is the link to it: Why won't jQuery accordion section activate in IE 8?

I ran into this same problem. IE is very finicky about proper html and making sure that inside your accordion, there is nothing outside the

structure, for example, it you have this:

<h3>a header</h3>
<div>some content</div>
<h3>another header</h3>
<div>some more content</div>

it will work, but this will not:

<h3>a header</h3>
<div>some content</div>
<span>extra stuff</span>
<h3>another header</h3>
<div>some more content</div>

This would all be inside whatever element you call .accordion() on.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文