0

我的 JQuery Anythingslider 演示部署适用于我测试过的所有浏览器,包括 IE ( DEMO )。

但是,当我尝试将它插入到我的站点代码中时,这是一个我无法控制的可怕遗留 JQuery 的混乱,结果是它在 Chrome、Safari 和 Firefox 中正确加载,但在 IE 中根本没有。

要使用 AnythingSlider,您需要提供基本标记,JQuery 会添加类和 id 来处理它。

这是原始标记:

<ul id="slider">
    <li>CONTENT</li>
    <li>CONTENT</li>
    <li>CONTENT</li>
</ul>

以下是我的标记在 Chrome 上的 Firebug 中的外观:

<div class="anythingSlider anythingSlider-default activeSlider" style="width: 790px; height: 790px; "><div class="anythingWindow" style=""><ul id="slider1" class="anythingBase horizontal" style="width: 4740px; left: -1580px; ">

    <li class="panel" style="width: 790px; height: 790px; "><img src="img/gallery05.jpg" alt="">
           CONTENT</li>
</ul></div><div class="anythingControls" style="display: block; "><a href="#" class="start-stop" style="display: none; "><span>Start</span></a></div><span class="arrow back" style=""><a href="#"><span>«</span></a></span><span class="arrow forward" style=""><a href="#"><span>»</span></a></span></div>

在 Internet Explorer 8 中,在同一页面上,标记与原始标记没有变化——JQuery 根本没有运行,或者至少它没有将任何更改写入滑块 UL。当然,滑块不起作用。

我尝试过的事情:

  • 我正在使用 JQuery noConflict 并排运行 JQuery 1.3.2 和 1.7。但是,当我将 noConflict 代码添加到我的演示时,它仍然在 IE 中工作,所以我认为不是这样。
  • 更改页面脚本加载顺序,以便首先加载任何滑动器,然后加载较旧的脚本 - 没有骰子。
  • 正在寻找旧版本的 AnythingSlider,这样我就可以在没有冲突的情况下运行它 - 正在进行中。
  • 有谁知道会阻止此插件运行的任何 Internet Explorer 8 特定行为,以及我可以构建页面以阻止这种情况发生的任何方式?

    4

    1 回答 1

    1

    已解决:被错误的逗号杀死。我这样称呼我的滑块:

    $(function(){
        $('#slider1, #slider2').anythingSlider({
        buildNavigation     : false,
        autoPlay            : false,
        resizeContents      : false,
        hashTags : false,
        });
    

    当我在假后删除逗号时,问题得到解决:

    $(function(){
        $('#slider1, #slider2').anythingSlider({
        buildNavigation     : false,
        autoPlay            : false,
        resizeContents      : false,
        hashTags : false
        });
    

    而已。IE 被那个逗号窒息,而其他浏览器则没有。一个迷失的星期天的圣洁母亲花了很多时间来解决这个问题!

    于 2012-08-05T16:14:31.577 回答