0

これは、jquerymobile navbar のボタンをクリックすると現在のアイコンが「アクティブ状態」のアイコンと交換される基本的なナビゲーションの実装ですが、私の jquerymobile 実装では機能していないようです。

アクティブな画像をオンにするためのコード スニペットは次のとおりです。

$("#navigation_link").live("click", function(){
    $.mobile.changePage("testpage.php");
    toggleActiveBtn("navigation");
});

function toggleActiveBtn(btnId){

    $("#" + btnId).src = "img/" + btnId + "_active.png";
    /* toggle previously active image to "off" state
    ...
    */
    $("#home).trigger("refresh");

testpage.php の HTML は単純です:

<div data-role="page" id="home">
<div data-role="header" data--position="fixed" data-id="app_header">
    ...
</div>
<div data-role="content" id="main">
    ...
</div>    


<div data-role="footer" data-position="fixed" data-id="app_footer">
    <div data-role="navbar" id="footer_menu">
        <ul>
            <li><a id="navigation_link" href="javascript:void(0);"><img id="navigation" src="img/navigation.png" /></a></li>
            ...
        </ul>
    </div>
</div>

を試しまし$("#home).trigger("create")たが、$("#home").trigger("refresh")どちらも機能しません。

助けてくれてありがとう、皆さん。

4

1 に答える 1

0

あなたはそれを正しく行っていましたが、エラーのみが間違ったトリガーパラメーターでした。

この機能:

$("#home).trigger("create");

ページのコンテンツにのみ影響します。ページ全体 (コンテンツ + ヘッダー + フッター) のスタイルを設定するには、次の関数を使用する必要があります。

$("#home).trigger("pagecreate");

私はあなたのために軽い例を作りました: http://jsfiddle.net/Gajotres/yAz8G/

ボタンを押して、ナビゲーション バーの画像を変更します。

于 2013-01-26T09:11:28.963 に答える