我有一个弹出窗口使用以下代码,但是我需要修改它以将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> | </li>
或者我已经尝试过使用弹出窗口(http://swip.codylindley.com/popupWindowDemo.html)的这个jquery版本,但是还没弄明白如何以这种方式做到这一点。非常感谢你的帮助,这一整天一直在杀我!
答案 0 :(得分:0)
正如您所见,您正试图通过id='body'
与对象联系。
但是我认为你的标记看起来像
<body> ... </body>
。如果这是真的那么你就不能使用JS函数getElementById因为你在body元素上没有ID:)
解决方案是<body id='body'> ... </body>
此外,您可以使用不同的JS功能来选择正文。
var body = document.getElementsByTagName( "body" );
答案 1 :(得分:0)
<强> win.document.getElementById( '主体')强>
将查找与提供的ID匹配的DOM元素,在这种情况下,没有ID为body的元素。
尝试用 win.document.getElementsByTagName('body')替换它。这应该给你body标签,然后你可以将CSS类应用到它。
由于您的文档中只有一个正文,您可以直接将该类分配给弹出式HTML本身的正文标记。