2

私は、hotwire.com 上のホテルを公開/識別する新しいプロジェクトhttp://www.hotwirerevealed.comに取り組んでいます。状態と宛先を入力した後、jquery の .post メソッドを使用して投稿する JavaScript 関数があります。投稿リクエストは、html を出力する php ページに送信されます。jquery の html メソッドを使用して、コンテンツをページに配置します。

そのようです

function post(){
    $.post("lookup.php", {action: "find", area: area, stars: stars, amenities: amenities, state: $('#state').val()}, function(data){ 
        $("#details").html(data);
    });
}

ライトボックスで使用したいホテルへのハイパーリンクがあります

<a class="hotel" href="http://google.com/search?btnI=1&amp;q=Amerisuites+Northeast+Orlando+(Airport+MCO)">Amerisuites Northeast</a>

jqueryのファンシーボックスを使用しようとしていますが、ファンシーボックス

$(document).ready(function(){
    $(".hotel").fancybox({
        'width'             : '75%',
        'height'            : '75%',
        'type'              : 'iframe'
    });
});

しかし、jqueryがそこにある要素を知らないので、うまくいかないようです。jquery live() メソッドを使用しようとしましたが、ほとんど成功しませんでした。事前に感謝します。

4

2 に答える 2

3

私が行う最も簡単な方法は、livequeryプラグインをページに追加してから
、次の代わりに追加することです。

$(document).ready(function(){
  $(".hotel").fancybox({
        'width'             : '75%',
        'height'            : '75%',
        'type'              : 'iframe'
  });
});

これを行う:

$(document).ready(function(){
  $(".hotel").livequery(function(){
    $(this).fancybox({
        'width'             : '75%',
        'height'            : '75%',
        'type'              : 'iframe'
      });
  });
});
于 2010-04-18T02:12:01.800 に答える
1

明確にするために、 $("#details").html(data) は「a」タグを正しくロードしますか?

前回チェックしたとき、fancybox() では要素が DOM に既に存在している必要があります。$(document).ready が発火したとき、おそらく $(".hotel") はまだ存在していません。次のように $.post の後に fancybox セットアップを移動できます。

function post(){
  $.post("lookup.php", 
    {action: "find", area: area, stars: stars, amenities: amenities, state:
      $('#state').val()}, 
    function(data) { 
      $("#details").html(data);
      // bind fancy box
      $(".hotel").fancybox({
        'width'             : '75%',
        'height'            : '75%',
        'type'              : 'iframe'
      });
  });
}

fancybox で既に呼び出されている要素に対して fancybox を呼び出す場合は、注意が必要な場合があります。そこにはいくつかの合併症があるかもしれません。

于 2010-04-18T01:38:16.923 に答える