3

この質問は多く寄せられているようですが、有効な回答は見たことがありません。

したがって、次のように機能する div があります。

<div onclick="location.href='http://www.abc123.com';" class="menuitem">
</div>

ここで、fancybox iframe で開くためのリンク (location.href で指定) が必要です。

A要素を使用したいのですが、この Div には他のアイテムが含まれているため、使用できないと思います。

私はすべての提案を受け入れます... div 以外の要素を使用したり、別の jquery iframe ライトボックスを使用したりしても。

ありがとう

ティム・モール

4

3 に答える 3

21

<a href>これは、 link 要素を必要とせずに fancybox を使用する方法を示しています。

インライン (1.3.4):

<div id="menuitem" class="menuitem"></div>

<div style="display:none;">
    <div id="dialogContent">
    </div>
</div>

$('#menuitem').click(function() {
    $.fancybox({
        'type': 'inline',
        'content': '#dialogContent'
    });
});

インライン (2.1.5):

<div id="menuitem" class="menuitem"></div>

<div style="display:none;">
    <div id="dialogContent">
    </div>
</div>

$('#menuitem').click(function() {
    $.fancybox({
        'type': 'inline',
        'href': '#dialogContent'
    });
});

iframe :

<div id="menuitem" class="menuitem"></div>

$('#menuitem').click(function () {
    $.fancybox({
        type: 'iframe',
        href: 'http://www.abc123.com'
    });
});
于 2012-10-17T06:47:38.977 に答える
1

a)タグ内に他のアイテムを入れることができます。それは機能しますが、意味がありません。

b)

  1. iframeを非表示のdivに配置します(またはクリック時にajaxします)
  2. do $('。menuitem')。click(hiddendiv.fancyb ...()。show())

個人的には、常にonclick=""の使用を避けます。外部のjsファイルでコードを維持する方がはるかに簡単です。

于 2010-03-18T09:45:03.780 に答える
0

私は同じことをしていて、fancyboxを動的に呼び出したかったのですが、それが理想的ではないかもしれないことはわかっていますが、これが私がしたことです(私はjqueryを使用しています):

JS:

jQuery(document).ready(function($){
    $(".fancybox").fancybox();
    $("form").submit(function(){
        $(".fancybox").trigger("click");
        return false;
    });
});

HTML:

<a href="#div_id" class="fancybox"></a>
<div style="display:none;">
     <div id="div_id">
         This will show up in my fancybox
     </div>
</div>

それはより迅速で簡単な方法です。見つけました。誰かの役に立てば幸いです。ハッピーコーディング!

于 2012-07-04T15:49:26.030 に答える