2011-01-26 31 views
1

我正在使用jQuery animate()函数来显示一个小文本变得越来越大,直到它消失。jQuery animate在IE和Firefox都很慢

我有jQuery的代码在这里:

function Gain() { 
/* Using multiple unit types within one animation. */ 
$("#block").animate({ 
    width: "80%", 
    opacity: 0.0, 
    marginLeft: "2.6in", 
    fontSize: "15em", 
    borderWidth: "10px" 
}, 2000, function() { 
    $("#block").removeAttr("style"); 
    $("#block").html(""); 
    $("#block").css("color", "White"); 
    $("#block").css("position", "absolute"); 
    $("#block").css("z-index", "-5"); 

}); 

}

我用火的功能代码:

string script = "$('#block').html('Yes!<br/>" + xpReward.ToString() + "xp!');"; 
    ScriptManager.RegisterStartupScript(ButtonListUpdate, typeof(string), "startup", 
                "xpGain(); " + script, true); 

此代码运行每次我选择一个选项RadioButtonList(ASP.NET)。

现在,我有这个问题

  • 浏览器 - 作品真的很好
  • 野生动物园 - 作品真的很好
  • iPhone浏览器 - 工程确定
  • 的Internet Explorer - 可怕
  • Firefox - 有时很棒,其他时间很可怕

我想忽略Internet Explorer,但由于它们有很大的市场份额,我必须处理这个问题。

您可以尝试动画自己

  1. 转到http://www.GameLearner.com
  2. 单击较大的 “现在播放” 按钮
  3. 点击 “播放的时候了”
  4. 回答问题正确。第一个问题可能需要〜5-10s

所以我的问题是....

如何使在Internet Explorer这项工作?现在这太可怕了。我不指望它工作真的很好,但只是“可玩”将是非常可怕的...

非常感谢! 拉尔斯

+0

在IE 9上正常工作。 – Pradeep

回答

1

只是一个想法 - 你使用%empxin作为计量单位。也许如果你只用一个测量单位标准化,事情可能会更快。我真的不知道,只是猜测。另外,在动画完成时运行的函数中,您可以将$('#block')元素上的所有动作链接在一起,例如,

$("#block").removeAttr("style").html("").css("color", "White").css("position", "absolute").css("z-index", "-5"); 
+0

感谢 - 没有让它更快..但总的来说 - 好主意!:-) –

1
$("#block").animate({ 
    width: "80%", 
    opacity: 0.0, 
    marginLeft: "2.6in", 
    fontSize: "15em", 
    borderWidth: "10px" }, 2000) 
    .removeAttr("style") 
    .html("") 
    .css({color: '#fff', position:'absolute', z-index:'-5'}); 

一些oldscool浏览器有0下用z-index问题!