jQuery SelectBox插件在IE7,8或9中不起作用

时间:2013-04-22 22:24:54

标签: javascript jquery css internet-explorer css3

我有这个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/

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

1 个答案:

答案 0 :(得分:0)

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

使用的条件评论:

    <!--[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及以下)