0

こんにちは。お時間をいただきありがとうございます。

クリックすると、そのカテゴリの最初の項目が vis Contained div に読み込まれるカテゴリのボタンを設定しようとしています。次に、ロードされた div データの「次へ」および「前へ」ボタンが、そのカテゴリの他の項目に切り替わります。

これまでのところ、私は持っています:

php:

<nav>
    <button onclick="changeContent('content1')">content1</button>
</nav>
<section id="main">
    <div id="visContainer"><div>
    </div>
</section

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="/js/jquery.min.js"><\/script>')</script>
<script src="js/javascript.js"></script>

js:

    $(function(){
        function changeContent(content){
            $('#visContainer').load('divList.html' content);
    };
});

さまざまな div がリストされている divList.html ファイルと一緒に (今のところ w テキストで埋められています)。js の関数 changeContent 行で「予期しない識別子」を取得していますが、changeContent が定義されていないと言い続けます (ボタンをクリックしたとき)。私の宣言またはjQueryと関係があるのではないかと思いましたが、どこにあるのかわかりません。私はこれが初めてなので、どんな助けでも大歓迎です!

4

1 に答える 1

1
$(function(){ ... });

その関数は新しいスコープを作成しchangeContent、インライン イベント ハンドラーが存在するウィンドウ スコープで使用できないようにします。クイックフィックスは次のとおりです。

$(function(){
    window.changeContent = function(content){
        $('#visContainer').load('divList.html' content);
    }
});

より良い解決策は、インライン イベント ハンドラーを削除することです。

<button id="myButton">content1</button>

およびJS:

$(function(){
    $('myButton').on('click', function() {
        $('#visContainer').load('divList.html #content1');
    });
});
于 2013-04-02T18:34:14.200 に答える