带有 jQuery 地址(插件)的 JavaScript 的奇怪行为。
我有这个代码:
var handler = function(data) {
$('#conteudo').hide().html($('#conteudo', data).html()).fadeIn(500);
$.address.title(/>([^<]*)<\/title/.exec(data)[1]);
};
它有效。完美。
现在我更改代码:
var handler = function(data) {
$('#conteudo').fadeOut(500, function() {
$('#conteudo').html($('#conteudo', data).html()).fadeIn(500);
});
$.address.title(/>([^<]*)<\/title/.exec(data)[1]);
};
现在淡出效果起作用,并且在淡入之后(使用新内容)。美丽的!但是编写新内容的方式(在新函数内部,fadeOut 之后)的这种小变化破坏了我页面内的子链接。
这是一个活生生的例子:
- 访问此网址:http: //impulse.im/clean/2/
- 在顶部菜单中,单击“Contato”。
- 现在
href
在加载的内容中查看链接“Rafa”!
http://impulse.im/clean/2?_escaped_fragment_=%2Fcontato%2Frafa
.
这是不正确的:它应该是
http://impulse.im/clean/2/#!/contato/rafa
- 再次: http: //impulse.im/clean/2/ - 点击“Contato”。现在重新加载页面。
- 链接“Rafa”现在是正确的。
这个新函数(之后fadeOut
)对代码做了什么?为什么这个功能会破坏我的链接?
谢谢!