使用IE7 / 8中的msDropDown jQuery修复sprite?

时间:2011-09-02 19:41:59

标签: jquery css jquery-plugins css-sprites

我正在使用msDropDown jQuery plugin使用他们的Sprited选项将图片添加到我网站上的下拉列表中。在Chrome,Firefox和IE9的所有测试版本中,一切都很好用。然而,回到IE7或IE8会破坏一些东西。它仍然几乎,因为所有选择元素都能获得正确的图像。但是,“标题”选项中的图像永远不会更改(例如,当打开下拉列表时显示的图像)。它总是显示最顶层的精灵。

我会注意到这个问题似乎出现在the author's css-version demo上。阻止IE的早期版本工作会出现什么问题?如何解决?

2 个答案:

答案 0 :(得分:1)

我以前见过这个问题,经常与position: relative;在IE浏览器中混淆。话虽如此,我在作者示例中没有看到任何内容,但看到了问题。

以下是我能找到的所有内容http://www.codingforums.com/archive/index.php/t-173790.html但除了确认我见过的问题之外没有多大帮助。

我注意到的唯一另一件事是该示例没有使用title=" relative/image.loc",但插件的文档引用了它。

也许检查一下并尝试添加title属性以查看是否有效。因为它是IE,所以只是提出想法。

在调试IE时,我通常会使用Firebug Lite(http://getfirebug.com/firebuglite)尽可能提供一些帮助。可能会帮助你。

对我来说帮助不大但IE很令人沮丧所以我想我至少会尝试。

答案 1 :(得分:1)

在作者网站的评论主题中,另一位用户和我来回走动,似乎他找到了问题所在。它并没有完全解决,但它应该导致一些解决方案。

posted details about what is going on但基本上归结为不同版本的IE在解释background-position: Xpx Ypx;background-position-x: Xpx; background-position-y: Ypx;

的行为方面的不一致

最初,我认为添加一些外部JS来处理这种差异应该可以解决问题。但是,这失败了,因为我可以附加的所有事件都是在MS DropDown插件执行过程中的某个地方执行的。

相反,我直接修改了插件。我缩小了,然后做了我的改变,然后重新缩小。测试确认现在一切正常。我已将MS DropDown repo on gitHub分叉并更新为my new version