0

次のコードで動作するポップアップ ウィンドウがありますが、CSS クラスを HTML タグまたは Body タグのいずれかに適用するように修正する必要があるため、通常のサイトとは異なるスタイルでポップアップ ウィンドウを表示できます。

現在使用しているコードは次のとおりです。

    <script language="javascript" type="text/javascript">
<!--
/****************************************************
     Author: Eric King
     Url: http://redrival.com/eak/index.shtml
     This script is free to use as long as this info is left in
     Featured on Dynamic Drive script library (http://www.dynamicdrive.com)
****************************************************/
var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos){
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
win=window.open(mypage,myname,settings);
}
// -->
</script>

次のような win=window.open 行の直後に行を追加しようとしました。

win.document.getElementById('body').className += " popup";

残念ながらうまくいきませんでした。このjavascript関数を使用してウィンドウがポップアップした場合、ウィンドウにCSSクラスを適用する方法についてのアイデアはありますか?

関数への HTML 呼び出しは、問題があれば、このコードで行われました。

<li><a href="<?php echo get_permalink(); ?>" onclick="NewWindow(this.href,'broadcastplayer','600','200','no','center');return false" onfocus="this.blur()">Play in pop up</a>&nbsp;|&nbsp;</li>

別の方法として、この jquery バージョンのポップアップ ウィンドウ ( http://swip.codylindley.com/popupWindowDemo.html ) を使用してみましたが、この方法でそれを行う方法もわかりませんでした。助けてくれてどうもありがとう、これは一日中私を殺してきました!

4

2 に答える 2

0

win.document.getElementById('body')

指定された ID に一致する DOM 要素を探しますが、この場合、ID が body である要素はありません。

これをwin.document.getElementsByTagName('body')に置き換えてみてください。これによりbodyタグが提供され、CSSクラスをそれに適用できます。

ドキュメントには本文が 1 つしかないため、クラスをポップアップ HTML 自体の body タグに直接割り当てることができます。

于 2013-05-29T04:53:11.767 に答える