JQuery Animation在Internet Explorer中不起作用

我在使用这个JQuery在Internet Explorer中工作时遇到了一些麻烦,它在FF,WebKit等中工作得很漂亮,向上滑动,弹跳并重新落到原位,但在Internet Explorer中它什么都不做,按钮不起作用并且内容永远不会在页面加载时滑动。 这真的很奇怪,我在我的网站的早期设计中有一个元素淡出,它在IE中不起作用但在其他一切工作……

 $(document).ready(function(){ $('#homecontent').delay("750").animate({ marginTop: "-15px" }, 1500).animate({ marginTop: "5px" }, 500); })   $("#shop").click(function(){ $('#homecontent').animate({ marginTop: "1500px" }, 1500).delay("1500", function(){ window.location.href = "http://www.jamiedurham.co.uk/shop/","shop" }); }) $("#blog").click(function(){ $('#homecontent').animate({ marginTop: "1500px" }, 1500).delay("1500", function(){ window.location.href = "http://www.jamiedurham.co.uk/blog/","blog" }); })  
home shop blog

http://jsfiddle.net/koolvin/MXwXA/5/这已在所有IE版本中测试过,它适用于IE6 +

我做了三件事:

  1. 我让它看起来不错
  2. 我结束了陈述;
  3. 我添加了e.preventDefault()以确保您的javascript按预期工作。

它相当于:

 $(document).ready(function() { $('#homecontent').delay("750").animate({ marginTop: "-15px" }, 1500).animate({ marginTop: "5px" }, 500); }); $("#shop").click(function(e) { e.preventDefault(); $('#homecontent').animate({ marginTop: "1500px" }, 1500).delay("1500", function() { window.location.href = "http://www.jamiedurham.co.uk/shop/", "shop" }); }); $("#blog").click(function(e) { e.preventDefault(); $('#homecontent').animate({ marginTop: "1500px" }, 1500).delay("1500", function() { window.location.href = "http://www.jamiedurham.co.uk/blog/", "blog" }); }); 

我认为你的HTML中有一些错误。 您已在a和img标记上指定了id =“shop”和id =“blog”。 从img标签中删除它。

并尝试这个新的Javascript代码。 单击操作未执行,并且通过添加event.preventDefault(),标准单击事件将不会执行,并且只有在window.location发生后才会重定向用户。