jquery和jquery.ui在IE 7以外的所有浏览器中工作 - 为什么?

时间:2011-03-14 03:29:22

标签: jquery internet-explorer-7

我写了一个小的jquery应用程序,允许一个人向右滑动200 px的句柄。

该应用程序使用jQuery 1.2.6和jquery UI 1.5.3

我的脚本在所有浏览器中都能完美运行,除了7(即6个未经测试,不在乎)。它甚至适用于ie。

要查看代码应用和代码,请查看http://iomobile.dev.devsu.com

iphone-unlock.js是jquery代码,它专门为图形元素使用style.css。对不起,这很慢 - 我在调试时关闭了缓存。

此外,调试没有错误。任何关于为什么会发生这种情况的想法都非常感激。

我认为在编辑中添加代码可能会有所帮助: $(文件)。就绪(函数() {

var unlock = function()
{

    $.openPopupLayer({
        name: "iPhoneInteract",         
        url: "/sites/all/themes/tao/templates/iphone.html",

        afterClose: function () {
            $("#unlock-handle").animate({"left" : "-1"} );
            $("#slide-to-unlock").animate({opacity: 1}, 200 );
        top.location.href = 'http://iomobile.dev.devsu.com/?device=desktop';
        }
    });


}



$("#unlock-slider").slider({
    handle: "#unlock-handle",
    animate:true,
    slide: function(e,ui)
    {
        $("#slide-to-unlock").css("opacity", 1-(parseInt($("#unlock-handle").css("left"))/120));
    },
    stop: function(e,ui)
    {
        if($("#unlock-handle").position().left == 210)
        {
            unlock();
        }
        else
        {
            $("#unlock-handle").animate({left: 0}, 200 );
            $("#slide-to-unlock").animate({opacity: 1}, 200 );
        }
    }
    }
);

});     在这里输入代码

2 个答案:

答案 0 :(得分:3)

如果两个条件成立,IE7的动画有问题:

  • 包含DIV的位置:relative,AND
  • 未设置动画的属性(在本例中为“left”)

查看style.css,看来你正在为“left”设置一个值,但#unlock-bottom确实有位置:relative,所以不清楚是否适用IE7特定的问题。使用没有位置的容器中的动画元素进行调试可能会有所帮助:相对于查看问题是否消失。

请参阅http://www.electrictoolbox.com/jquery-animation-issues-ie7-position-relative/

答案 1 :(得分:0)

首先,尝试使用两者的最新版本(jQuery 1.5.1 / UI 1.8.9)。没有理由依赖过时的代码,在版本

之间修复了数百个错误