将CSS类应用于javascript弹出窗口

时间:2013-05-29 04:34:11

标签: javascript jquery popupwindow

我有一个弹出窗口使用以下代码,但是我需要修改它以将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>

或者我已经尝试过使用弹出窗口(http://swip.codylindley.com/popupWindowDemo.html)的这个jquery版本,但是还没弄明白如何以这种方式做到这一点。非常感谢你的帮助,这一整天一直在杀我!

2 个答案:

答案 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本身的正文标记。