私は2つの空<div>
のようなものを持っています:
<div id="fancyboxdiv" style="display: none;"></div>
<div id="linkdiv"></div>
ファンシーボックスがこのスクリプトで開いたとき#linkdiv
に、jQueryでそれらの1つ()へのリンクを挿入し、コンテンツを他の()に挿入すると:#fancyboxdiv
<script type="text/javascript">
(function($) {
$(document).ready(function() {
//loading the opening link to a div with jquery
$('#linkdiv').html('<a id="fbLink" href="#fancyboxdiv" title="fbox">see fancybox</a>');
//opening the fancybox
$('#fbLink').fancybox({
'afterLoad': function() {
$('#fancyboxdiv').html('<h1>Fancybox</h1>');
},
'afterClose': function() {
$('#fancyboxdiv').empty();
}
});
});
})(jQuery);
</script>
#fbLink
IE8 以前のバージョンを除くすべてのブラウザーで動的に追加されたリンク ( ) をクリックすると、fancybox が起動します。
内部のリンクを次のようにハードコードする場合<div id="linkdiv">
:
<div id="linkdiv"><a id="fbLink" href="#fancyboxdiv" title="fbox">see fancybox</a></div>
次のコード行をコメントアウトします。
//$('#linkdiv').html('<a id="fbLink" href="#fancyboxdiv" title="fbox">see fancybox</a>');
ファンシーボックスは IE8 を含むすべてのブラウザーで正常に動作します。
スクリプトを IE8 以前のバージョンで動作させるにはどうすればよいですか? 後で fancybox を起動するリンクを追加する必要があります。