Thickboxを表示したときにFlashオブジェクトを表示しないようにする
タイトルまま。
Thickbox.jsのソースコード20行目に
function tb_init(domChunk){ $(domChunk).click(function(){ var t = this.title || this.name || null; var a = this.href || this.alt; var g = this.rel || false; tb_show(t,a,g); this.blur(); return false; }); }
とあるので、Objectを非表示にする
$("object").css("visibility","hidden");
を追加。追加後のソースは、
function tb_init(domChunk){ $(domChunk).click(function(){ $("object").css("visibility","hidden"); // ココ var t = this.title || this.name || null; var a = this.href || this.alt; var g = this.rel || false; tb_show(t,a,g); this.blur(); return false; }); }
他のObjectも消えるけど、メンドイしこれで。
ちなみに追加するのは.click以降return以前ならどこでも。
あとは、Thickboxが非表示になったときにObjectを表示にするために、
ソースコード269行目から始まる
function tb_remove() { $("#TB_imageOff").unbind("click"); $("#TB_closeWindowButton").unbind("click"); $("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();}); $("#TB_load").remove(); if (typeof document.body.style.maxHeight == "undefined") {//if IE 6 $("body","html").css({height: "auto", width: "auto"}); $("html").css("overflow",""); } document.onkeydown = ""; document.onkeyup = ""; return false; }
のreturn falseの前に
setTimeout(function(){ $("object").css("visibility","visible"); },500);
を追加。追加後のソースは、
function tb_remove() { $("#TB_imageOff").unbind("click"); $("#TB_closeWindowButton").unbind("click"); $("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();}); $("#TB_load").remove(); if (typeof document.body.style.maxHeight == "undefined") {//if IE 6 $("body","html").css({height: "auto", width: "auto"}); $("html").css("overflow",""); } document.onkeydown = ""; document.onkeyup = ""; setTimeout(function(){ // ココ $("object").css("visibility","visible"); // ココ },500); // ココ return false; }
同時に消えるとなんか変なのでsetTimeoutで500ミリ秒後に消えるように。
めんどくさがりの僕のための
ソース改変(と言えるほどのものでもないけど)をしたThickbox.jsダウンロードリンクは以下。
ダウンロード
Leave a comment
Trackbacks: 0
- Trackback URL for this entry
- Listed below are links to weblogs that reference
- Thickboxを表示したときにFlashオブジェクトを表示しないようにする from 5509
Comments: 2 - Leave a comment
コメントありがとうございます。
ほんまですね。。。修正しました。
修正ついでに 最後なぜか面倒くさくなった 追加後のソースも 追記しました。
こんにちは。
いつもjqueryの記事を参考にしております。
>を追加。追加後のソースは、
とあるんですが、ソースを見るとかわっていなかったりします。
ダウンロードしたソースを見れば分かるのですが、ちょっと気になりましたのでコメントさせて頂きました。