在.load()成功期间,jQuery内容不会消失InOffice()成功

问题描述:

我已经探讨了几个类似的问题,但似乎都没有奏效。我试图使用一个jQuery点击事件fadeOut()一个目标股利,从单击的元素的href异步加载()目标div的内容,然后fadeIn()新的内容。在.load()成功期间,jQuery内容不会消失InOffice()成功

相关网站是http://clients.weareno1.com/worklocal.org/

我的代码如下:

$(document).ready(function() { 
    $("#pri_nav a").click(function() { 
     $("#content").fadeOut(400, "linear").load(this.href, function() { 
      $("#content").fadeIn(800, "linear"); 
     }); 
    }); 
}); 

设置通过“E”的点击功能(即$("#pri_nav a").click(function(e) {e.preventDefault(); [....]得到最深的存在方式,但后来我离开了手动剥离和替换“从锚点父李选择了”类。最坏的情况,这就是我会做,但它似乎有点不必要的复杂。

任何投入将是非常赞赏。

预先感谢您的时间。

+0

除了跳动的滚动条之外,这对我来说看起来非常好(Chrome 9)。 – 2011-02-27 20:53:58

+0

我继续进行并在所涉及的锚点上实施了“选定”类的动态替换,以使该部分现在可以顺利运行。结果是,即使e.preventDefault()现在允许淡入淡出动画以我想要的方式工作,它现在阻止地址栏反映适当的页面。所以现在,诀窍是,我如何获得一个优雅的动画,但仍然在地址栏中显示适当的URL /重新获得我可能已经用preventDefault()函数失去的任何搜索引擎优化的好处。 – 2011-02-27 21:42:01

+0

我刚刚删除了e.preventDefault()函数,以便您可以正确地看到地址栏位置更新以及加载请求就位。 – 2011-02-27 21:48:33

您在您对SEO收益的评论中提及。搜索引擎不执行JavaScript代码。只要您的应用程序在JavaScript关闭的情况下工作,搜索引擎(以及具有无障碍需求的人员)就可以关注链接。

fade*方法不同步。我不会那样连锁加载。

$(document).ready(function() { 
    $("#pri_nav a").click(function() { 
     var a = this; 
     $("#content").fadeOut(400, "linear", function() { 
      $("#content").load(a.href, function() { 
       $("#content").fadeIn(800, "linear"); 
      }); 
     }); 
     return false; // or prevent default 
    }); 
});