2

我有这个 jQuery selectBox 插件,我已经设计了适合我需要的样式,还有一个“Go”按钮可以转到每个选项值中给出的 href。功能和风格在 FF、Chrome 和 IE10 中运行良好。但是在 IE7、8 和 9 中根本不起作用。

我已经尝试了在这里遇到的各种事情,包括使用以下 jQuery 修复程序确保我的所有 div 上都有一个 z-index:

    $(function () {
        var zIndexNumber = 1000;
        $('div').each(function () {
        $(this).css('zIndex', zIndexNumber);
        zIndexNumber -= 10;
        });
    });

我尝试过的任何事情都没有对 IE 产生任何影响。我几乎可以肯定我的问题存在于我的 CSS 中。我使用了很多 css3 样式并尝试删除它们......我还没有想出一个解决方案。对此的任何帮助将不胜感激!:)

这是我的 JSFIDDLE:http: //jsfiddle.net/defmod33/hX2Ma/

通过“不工作”,我的意思是下拉部分根本没有出现......

4

1 回答 1

0

我终于解决了这个问题。问题出在 CSS 中,就像我预期的那样。选择框下拉功能会破坏为 IE 提供渐变的“过滤器:”样式标记。我本可以删除样式标签,但我决定创建几个条件注释,以防我将来找到更好的解决方案(我想保留“过滤器:”以防以后需要它) )。

使用的条件注释:

    <!--[if lte IE 9]>
      <style type="text/css">
        .sbHolder, .goButtonOne, .goButtonTwo {
           filter: none;
        }
      </style>
    <![endif]-->

    <!--[if lte IE 8]>
     <style type="text/css">
        .sbHolder {
           background:#ccc;
        }
        .goButtonOne, .goButtonTwo {
           background:#bf6c65;
        }
      </style>
    <![endif]-->

第一个去掉了 IE9 及更低版本的过滤器。第二个为去掉过滤器后没有背景色的浏览器提供第二种背景颜色(IE8及以下)

于 2013-04-30T19:33:52.127 回答