2011-07-04 16 views
0

jqueryフロートボックスプラグインがあります。ドキュメントが読み込まれ、ボタンを押すとajaxcallがbox.phpをトリガーし、ボックス#floating-boxを解析してフローティングにします(ボックスはすべてのページに表示されます)。問題は、$(document).ready(function(){..の中にあるスクリプトがボックスを見つけられないということです(もし私がそれを動かすと、sciptはOKです)。私は初心者ですが、これは何らかの種類のliveソリューションで解決できると思います。誰かが正しい方向に私を導くことができますか?ajax呼び出しが行われたときにjqueryスクリプトを再実行します。

jqueryスクリプトの開始。スクリプト全体が重要ではなく、box.phpがボックスを解析したときに再実行する方法はありますが、それ以降はすべてのページにすべてのページに表示されるので、すべてのドキュメントの読み込み時に実行するようにしてくださいそれらにも浮かぶ。

var $floatingbox = $('#floating-box'); 

if($('#floating-container').length > 0){.. 
+0

OK私は、このように再実行を取得しますが、その後のスクリプトは一緒に他の人とではありませんbox.php内のスクリプトを置くための一つの解決策:) – Joseph

答えて

0
var url = "box.php"; 
    $("#id_of_button").click(function(){ 
     $("#id_of_result").load(url, null, function(){ 
       //put script here, it runs when ajax load is complete 
      }); ... 
+0

が見つかりましたが、それはすべてのページロード上で実行されません。 。 ajaxの読み込みは、ボックスが追加されたときに一度だけ使用されます。その後、box.phpがphpに含まれていて、フローティングスクリプトもボックスを検出する必要があります。 – Joseph

+0

var myfloatingboxfunc = function(){// stuff }; 'myfloatingboxfuncをajaxのコールバックとdocument.readyの両方に配置しますか?これを変更する必要がある場合に備えて、関数をこのような変数に設定することをお勧めします。ただ一つの場所で行う必要があります。 – mattygs