IE中的jQuery插件问题

时间:2012-02-22 10:28:22

标签: javascript jquery html

我不明白为什么我的代码不适用于Internet Explorer / 这是我的index.php,我在调用js库。

<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="js/shadowbox.js" ></script>
    <script type="text/javascript" src="js/slides.min.jquery.js" > </script>
    <script type="text/javascript" src="js/jquery.simpleWeather-2.0.1.min.js" > </script>
    <script type="text/javascript" src="js/jquery.clock.js" > </script>
    <script type="text/javascript" src="js/jquery-ui-1.8.17.custom.min.js"></script>
    <script type="text/javascript" src="js/default.js" > </script>

这是我的default.js

$(document).ready(function() {
    Shadowbox.init({
        overlayOpacity: 0.8
    }, setupDemos);

    if (typeof $().slides != "undefined") {
        $('#slides').slides({
            preload: true,
            preloadImage: 'images/slides/loading.gif',
            play: 3000,
            pause: 2500,
            hoverPause: true,
            animationStart: function(current){
                $('.caption').animate({
                    bottom:-35
                },100);
            },
            animationComplete: function(current){
                $('.caption').animate({
                    bottom:0
                },200);
            },
            slidesLoaded: function() {
                $('.caption').animate({
                    bottom:0
                },200);
            }
        });
    }

    $.each($(".menu li"), function(index, li) {
        if ($(li).hasClass("active")) {
            $("title").append(": " + $(li).children("a").text());
        }
    });

    if (typeof $.simpleWeather != "undefined") {
        $.simpleWeather({
            location: 'Armenia, Yerevan',
            unit: 'c',
            success: function(weather) {
                html = "<div style='height: 117px;'><h2>"+weather.city+', '+weather.region+'</h2>';
                html += '<img style="float:left;" width="125px" src="'+weather.image+'">';
                html += '<p>'+weather.temp+'&deg; '+weather.units.temp+'<br /></p>';
                html += '</div>';

                $("#weather").html(html);
            },
            error: function(error) {
                $("#weather").html('<p>'+error+'</p>');
            }
        });
    }

    $('#yerevan-time').clock({offset: '+4', type: 'analog'});
    $('#london-time').clock({offset: '+0', type: 'analog'});
    $('#new-york-time').clock({offset: '-5', type: 'analog'});
});

function setupDemos() {
    Shadowbox.setup("a[rel=photos]", {
        gallery:        "cars",
        continuous:     true,
        counterType:    "skip"
    });
}


$(function() {
    $( "#day1" ).datepicker();
    $( "#day2").datepicker();
    });

我无法在这里找到解决方案。你可以查看here。这是我的网站。所以在互联网浏览器中,时钟和天气都不起作用。这里的问题是什么?任何帮助都会有用。感谢。

1 个答案:

答案 0 :(得分:1)

错误与您发布的代码无关。

如果您检查控制台,则会看到与Google地图相关的错误。

当您运行initialize方法(绑定到onload标记的body事件)时,会触发该错误

删除它以检查时钟是否正常工作,然后确保仅在页面中显示地图时运行..


<强>更新

另一个更重要的问题是你使用的时钟插件有这样的代码

jQuery(_this)
    .find(".sec")
    .css({"-moz-transform" : srotate, "-webkit-transform" : srotate});

查看供应商前缀-moz--webkit-意味着手的轮换仅适用于mozilla和webkit浏览器..

他们专门排除了所有其他浏览器..


现代IE(&gt; = 9)解决方法

对于IE&gt; = 9,您可以添加"-ms-transform" : srotate

jQuery(_this)
        .find(".sec")
        .css({"-moz-transform" : srotate, "-webkit-transform" : srotate, "-ms-transform" : srotate});

它会起作用(因为IE&gt; = 9支持旋转..

确保纠正所有人的代码..我的例子只是关于