幾個問題:高級jQuery Popout窗口
1)我試圖讓這個腳本更有效地運行。
2)當用戶點擊彈出按鈕時,它會打開一個窗口並隱藏該元素。 (目前我使用.detach()刪除嵌入式視頻播放器,因爲在Firefox中.toggle()只是隱藏播放器,但保持音頻播放。是否有更好的方法來做到這一點?
3)理論上再次點擊按鈕或手動關閉窗口,它應該隱藏或.toggle()元素,但不會因爲detach()而影響播放器。
4)如果用戶手動彈出窗口關閉它,然後再次彈出它,以便再次關閉它,元素不會再使用.toggle()回來。
在這裏看到它的行動,http://www.mst3k.tv/。
$(document).ready(function() {
$('#lights').click(function(){$('#darkness').fadeToggle(500);});
$("#lights").toggle(function(){$("#lights").attr('id','lightsoff');},function(){$("#lightsoff").attr('id','lights');});
/**VIDEO**/
var videoWin;
$('#video-toggle').click(function(){
$('#video').fadeToggle(500);
$('#video').detach();
});
$('#video-toggle').click(function(){
if (videoWin && !videoWin.closed) {
videoWin.close();
return false;
}
videoWin = window.open(
$(this).attr('rel'),
'videoWin',
'width=600,height=480,toolbar=0,top=0,left=0,menubar=0,location=0,status=0,scrollbars=0,resizable=1');
return false;
}
);
var watchVideo = setInterval(function() {
if (videoWin.closed) {clearTimeout(watchVideo);$('#video').show(500)}
return false;
}, 1);
/**CHAT**/
var chatWin;
$('#chat-toggle').click(function(){
$('#chat').fadeToggle(500);
/*$('#chat').detach();*/
});
$('#chat-toggle').click(function(){
if (chatWin && !chatWin.closed) {
chatWin.close();
return false;
}
chatWin = window.open(
$(this).attr('rel'),
'chatWin',
'width=320,height=480,toolbar=0,top=0,left=601,menubar=0,location=0,status=0,scrollbars=0,resizable=1');
return false;
}
);
var watchChat = setInterval(function() {
if (chatWin.closed) {clearTimeout(watchChat);$('#chat').show(500)}
return false;
}, 1);
/*$("a.btn").fitText(1.2, { minFontSize: "6px", maxFontSize: "14px" });*/
});