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 後の新しい関数の内部) を記述する方法のこの小さな変更により、ページ内のサブリンクが壊れてしまいました。
ライブの例を次に示します。
- この URL にアクセスしてください: 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
) はコードで何をしていますか? この関数がリンクを壊すのはなぜですか?
ありがとう!