0

jQuery を使用して履歴 API っぽいスクリプトを作成し、ニュース フィードを表示する AJAX スクリプトも作成しました。どちらも別のスクリプト ファイルにあります。リンクがクリックされたときにニュースフィードをロードする必要があります。フィードの更新ボタンがあるので、そのクリックをトリガーしようとしました。

ただし、リンク クリックおよびトリガー クリック後のニュース フィードの読み込みは、おかしな動作をしています。単に点滅してすぐに消えるので、何が起こっているのかよくわかりません。すべての機能を live に変更しようとしましたが、まだ役に立ちません。

フィード スクリプトは、ページの更新時と更新フィード ボタンのクリック時に動作することを追加する必要があります。そのため、履歴 API スクリプトがバイパスされます。

多くのファイルとデータベースを参照しているため、jsfiddle を作成できません。

履歴 API っぽいスクリプトは次のとおりです。

$("a#click").click(function() {
    var addressValue = $(this).attr("href");
    $("#main").load(addressValue + " #load"); 
    $("#refreshFeed").trigger('click');
    return false;
});

フィード スクリプトは次のとおりです。

//Get feed on load
$.get("phpscripts/getFeed.php",function(result){
    $("#newsFeed").html(result);
}); 

//Get feed on click
$("#refreshFeed").live('click', function(){
    $.get("phpscripts/getFeed.php",function(result){
        $("#newsFeed").html(result);
    }); 
});

注: 両方のスクリプトは、ドキュメントの準備ができたときにトリガーされます。

4

1 に答える 1

0

jqueryに文字列値(addressValue)と要素(#load)をロードするように要求しているように機能するかどうかはわかりませんが、jqueryがaddressValueにhrefをロードし、要素(#load)で上書きしてフラッシュする可能性があります。試す

alert(addressValue + $('#load'))

解析しているものを確認するには、addressValueがページまたは要素のアドレスである場合は、試してみることもお勧めします。

$('#main').load(addressValue)

そこから何が起こるかを見て、行く方法を理解することができます

于 2012-08-17T15:56:08.410 に答える