質問

私は本当に混乱しており、乗り方がわかりません。おそらくあなたは私を助けることができます:)

外部コンテンツをdivにロードするメニューを含むhtmlページを作成しました(すべてjqueryおよびajax-loadで実行されます)。

2番目の関数を追加したい場合は何も起こらず、ネストについてはわかりませんが、それが正しいかどうかはわかりません。

次の2つの関数があります。最初の関数はHTMLページ全体をロードし、2番目の関数は外部divを以前にロードされたファイルのdivにロードします(理解できるように説明したいと思います:))(numRand乱数、質問にとって重要ではありません)。

function changeMenu(menupunkt) {
$(function(){
    $('#mainContent').fadeOut('fast', function(){ $("#mainContent").load(menupunkt+".html?"+numRand);});
    $('#mainContent').fadeIn('fast');});
    return false;

}

2番目のコードは次のとおりです。

function changeSubMenu(submenupunkt,subdiv) {
    $(function(){
        $('#htmlContainer').fadeOut('fast',function(){ $("#htmlContainer").load(submenupunkt+".html?"+numRand+" div#"+subdiv);});
        $('#htmlContainer').fadeIn('fast');});
        return false;

}

2つの関数を結合して、関数を呼び出すことができます:

someFunction(menupunkt,submenupunkt,subdiv)

これはまずmenupunkt.htmlをロードし、このアクションが終了したらdivをロードする必要があります。

menupunktのみをロードし、submenupunktまたはsubdivはロードしない場合、どのように関数を呼び出すことができますか?

私の質問を説明して、皆さんがフォローできるようにしたいと思いますが、少し複雑です:)

事前に感謝します!

役に立ちましたか?

解決

まず第一に

$(function() { .... code here .... }); 

の略記

$(document).ready(function() { .... code here .... });

これは、DOMがロードされたときに実行する関数を設定するjQueryの方法です。あなたはこれをあなたの関数 changeMenu changeSubMenu の内部で使用していますが、これらは必要ではありません、しかしそれは奇妙な設定方法です)。

load()コマンドは、ロードが完了すると実行されるコールバック関数を取ります。たとえば、

$("#mainContent").load(menupunkt+".html?"+numRand, [callback here]);

[callback] は、匿名関数(インライン関数)または名前付き関数のいずれかです。

これが役立つことを願って

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top