Thickboxを表示したときにFlashオブジェクトを表示しないようにする

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ダウンロードリンクは以下。

ダウンロード

thickbox.js(12KB)

何か役に立つことがあったらシェアしてみてください

このエントリーをはてなブックマークに追加

Comments: 2 - Leave a comment

  1. nori

    コメントありがとうございます。
    ほんまですね。。。修正しました。
    修正ついでに 最後なぜか面倒くさくなった 追加後のソースも 追記しました。

  2. kaerusanu

    こんにちは。
    いつもjqueryの記事を参考にしております。

    >を追加。追加後のソースは、
    とあるんですが、ソースを見るとかわっていなかったりします。
    ダウンロードしたソースを見れば分かるのですが、ちょっと気になりましたのでコメントさせて頂きました。

Leave a comment

Trackbacks: 0

Trackback URL for this entry
Listed below are links to weblogs that reference
Thickboxを表示したときにFlashオブジェクトを表示しないようにする from 5509

Author

nori
nori
- UI Engineer
Location
- ,