实现原理:
武鸣ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
首先,我们将弹出框中的内容放置在一个特殊的DIV层中,然后默认隐藏它(即初始不可
见,使用CSS即可实现)。当用户执行某个动作时——比如点击某个链接或者将鼠标光标移动到某个链接上——我们将之前设置好的隐藏层显示在所有页面元素的
最上层(将使用JS操作实现)。此外,我们还将在弹出DIV窗口中设置一个按钮来执行——当用户点击此按钮时关闭窗口的功能。
实现过程:
就如我上面提到的,我们首先需要创建一个特殊的DIV层,然后我们将弹出窗口的内容放在这个DIV层里面。在这里,我们将其ID命名为“popupcontent ”以区别于其他DIV层。
div id="popupcontent"这是一个DIV弹窗效果!/div
弹出窗口的CSS修饰代码:
接
下来,让我们给上面已创建好的这个DIV弹出层进行CSS美化。其中最重要的几个参数分别是:overflow(内容溢出),
visibility(可见性)
和position(定位方式)。同时我也给这个窗口效果添加了很多其他代码,但这些只是用于美化,使这个窗口更绚丽。所以,我们最后定义的CSS代码形
如:
复制代码 代码如下:
#popupcontent{
position: absolute;
visibility: hidden;
overflow: hidden;
border:1px solid #CCC;
background-color:#F9F9F9;
border:1px solid #333;
padding:5px;
}
从上面CSS代码中的红色部分可以看出:这个DIV层初始默认状态是不可见的。
大家可以根据需要对以上代码进行美化,但请务必保留position,visibility,overflow三个属性。
JavaScript代码用于触发和显示弹出窗口:
这可能是本教程最重要最有趣的地方了。我们接下来会编写2个过程函数分别用于显示和隐藏上面那个DIV弹窗。当然,这两个函数之中会包含一些主体逻辑。
过程函数中需要顺序包含的逻辑:
计算JavaScript弹出窗口在屏幕上的显示位置(定位);
在弹出窗口中添加一个状态栏(或按钮),用于关闭打开状态下的窗口;
显示弹出窗口。
为了简单起见,本例中我们设置的显示位置是Top:200,Left:200。即以浏览器内容框的左上角为坐标,向下偏移200PX,向左偏移200PX。
弹出窗口的大小我们可以在显示函数的参数中进行设置,包括两个参数:窗口长度和窗口宽度。
如果你需要将本例中的代码进行二次开发,有个地方需要特别注意,那就是获取弹出窗口DIV层的DOM对象,我们可以通过下面这个getElementById函数来获取ID名为“Popcontent”的DOM对象。
html
head
metahttp-equiv="Content-Type" content="text/html;charset=utf-8" /
titleJavaScript实现网页右下角弹出窗口代码/title
/head
style type="text/css"
#winpop { width:200px; height:0px;position:absolute; right:0; bottom:0; border:1px solid #666; margin:0;padding:1px; overflow:hidden; display:none;}
#winpop .title { width:100%; height:22px;line-height:20px; background:#FFCC00; font-weight:bold; text-align:center;font-size:12px;}
#winpop .con { width:100%; height:90px;line-height:80px; font-weight:bold; font-size:12px; color:#FF0000;text-decoration:underline; text-align:center} /* */
#silu { font-size:12px; color:#666;position:absolute; right:0; text-align:right; text-decoration:underline;line-height:22px;}
.close { position:absolute; right:4px;top:-1px; color:#FFF; cursor:pointer}
/style
scripttype="text/javascript"
function tips_pop(){
var MsgPop=document.getElementById("winpop");
var popH=parseInt(MsgPop.style.height);//将对象的高度转化为数字
if (popH==0){
MsgPop.style.display="block";//显示隐藏的窗口
show=setInterval("changeH('up')",2);
}
else {
hide=setInterval("changeH('down')",2);
}
}
function changeH(str) {
varMsgPop=document.getElementById("winpop");
varpopH=parseInt(MsgPop.style.height);
if(str=="up"){
if(popH=100){
MsgPop.style.height=(popH+4).toString()+"px";
}
else{
clearInterval(show);
}
}
if(str=="down"){
if(popH=4){
MsgPop.style.height=(popH-4).toString()+"px";
}
else{
clearInterval(hide);
MsgPop.style.display="none"; //隐藏DIV
}
}
}
window.onload=function(){//加载
document.getElementById('winpop').style.height='0px';
setTimeout("tips_pop()",800);//3秒后调用tips_pop()这个函数
}
/script
body
div id="silu"
buttononclick="tips_pop()"3秒后会在右下角自动弹出窗口,如果没有弹出请点击这个按钮/button
/div
div id="winpop"
div您有新的短消息!spanclass="close"onclick="tips_pop()"X/span/div
div1条ahref=""经典语录/a(/div
/div
/body
/html
html
head
titleJs弹出浮动窗口,支持鼠标拖动和关闭/title
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
script type="text/javascript"
/**
关于一些参数说明:
*bodycontent:要在窗口显示的内容,dom对象
*title:窗口标题,字符串类型
*removeable:窗口能否拖动,布尔类型
*注意:内容窗体的高度是height-30px,请计算好你要显示的内容的高度和宽度。弹出窗的id为"223238909",所以你的页面不要再取值为"223238909"的id了,以防js执行出错*/
function createdialog(width,height,bodycontent,title,removeable){
if(document.getElementById("www_phpstudy_net")==null){
/*创建窗口的组成元素*/
var dialog = document.createElement("div");
var dialogtitlebar= document.createElement("div");
var dialogbody = document.createElement("div");
var dialogtitleimg = document.createElement("span");
var dialogtitle = document.createElement("span");
var dialogclose = document.createElement("span");
var closeaction = document.createElement("button");
/*为窗口设置一个id,id如此怪异是为了尽量避免与其他用户取的id相同而出错*/
dialog.id = "223238909";
/*组装对话框标题栏,按从里到外的顺序组装*/
dialogtitle.innerHTML = title;
dialogtitlebar.appendChild(dialogtitleimg);
dialogtitlebar.appendChild(dialogtitle);
dialogtitlebar.appendChild(dialogclose);
dialogclose.appendChild(closeaction);
/*组装对话框主体内容*/
if(bodycontent!=null){
bodycontent.style.display = "block";
dialogbody.appendChild(bodycontent);
}
/*组装成完整的对话框*/
dialog.appendChild(dialogtitlebar);
dialog.appendChild(dialogbody);
/*设置窗口组成元素的样式*/
var templeft,temptop,tempheight//窗口的位置(将窗口放在页面中间的辅助变量)
var dialogcssText,dialogbodycssText;//拼出dialog和dialogbody的样式字符串
templeft = (document.body.clientWidth-width)/2;
temptop = (document.body.clientHeight-height)/2;
tempheight= height-30;
dialogcssText= "position:absolute;background:#65c294;padding:1px;border:4px;top:"+temptop+"px;left:"+templeft+"px;height:"+height+"px;width:"+width+"px;";
dialogbodycssText = "width:100%;background:#ffffff;"+"height:" + tempheight + "px;";
dialog.style.cssText = dialogcssText;
dialogtitlebar.style.cssText = "height:30px;width:100%;background:url(images/titlebar.png) repeat;cursor:move;";
dialogbody.style.cssText = dialogbodycssText;
dialogtitleimg.style.cssText = "float:left;height:20px;width:20px;background:url(images/40.gif);"+"display:block;margin:4px;line-height:20px;";
dialogtitle.style.cssText = "font-size:16px;float:left;display:block;margin:4px;line-height:20px;";
dialogclose.style.cssText = "float:right;display:block;margin:4px;line-height:20px;";
closeaction.style.cssText = "height:20px;width:24px;border-width:1px;"+"background-image:url(images/close.png);cursor:pointer;";
/*为窗口元素注册事件*/
var dialogleft = parseInt(dialog.style.left);
var dialogtop = parseInt(dialog.style.top);
var ismousedown = false;//标志鼠标是否按下
/*关闭按钮的事件*/
closeaction.onclick = function(){
dialog.parentNode.removeChild(dialog);
}
/*实现窗口的移动,这段代码很典型,网上很多类似的代码*/
if(removeable == true){
var ismousedown = false;
var dialogleft,dialogtop;
var downX,downY;
dialogleft = parseInt(dialog.style.left);
dialogtop = parseInt(dialog.style.top);
dialogtitlebar.onmousedown = function(e){
ismousedown = true;
downX = e.clientX;
downY = e.clientY;
}
document.onmousemove = function(e){
if(ismousedown){
dialog.style.top = e.clientY - downY + dialogtop + "px";
dialog.style.left = e.clientX - downX + dialogleft + "px";
}
}
/*松开鼠标时要重新计算当前窗口的位置*/
document.onmouseup = function(){
dialogleft = parseInt(dialog.style.left);
dialogtop = parseInt(dialog.style.top);
ismousedown = false;
}
}
return dialog;
}//end if(if的结束)
}
/script
style
table{background:#b2d235;}
button{font-size:12px;height:23;background:#ece9d8;border-width:1;}
#linkurl,#linkname,#savelink{width:100px;}
/style
/head
body
!-- 显示窗口的地方 --
div id="here"/diva id="clickhere" href="#"点击生成窗口/a
!-- 要嵌入到窗口的内容 --
div id="login" style="display:none;"
form action="#" method="post" onSubmit="return false;"
table width="400" height="95"
tr
td width="78"链接文字/td
td width="168"input name="link.name" type="text"//td
td width="138" id="linktext"/td
/tr
tr
td链接地址/td
tdinput name="link.url" type="text"//td
td id="linkurl"/td
/tr
tr
td/td
tdbutton type="submit" style="float:right;"添加/button/td
td id="savelink"/td
/tr
/table
/form
/div
script type="text/javascript"
var here = document.getElementById("here");
var login = document.getElementById("login");
var clickhere = document.getElementById("clickhere");
clickhere.onclick = function(){
here.appendChild(createdialog(400,95+30,login,"欢迎光临phpstudy",true));
}
/script
/body
/html
这个主要就是监听页面的unload事件,但是这个事件有些特殊,主动调用alert之类的方法可能不会显示,而且还跟浏览器版本有关系。
window.onbeforeunload = function(event){
return '您可能有数据没有保存';
};
【1、最基本的js弹出对话框窗口代码】
这是最基本的js弹出对话框,其实代码就几句非常简单:
复制代码代码如下:
script LANGUAGE="javascript"
!--
window.open ("page.html")
--
/script
因为这是一段javascripts代码,所以它们应该放在script LANGUAGE="javascript"标签和/script之间。!-- 和--是对一些版本低的浏览器起作用,在这些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。
window.open ("page.html") 用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。用单引号和双引号都可以,只是不要混用。
这一段代码可以加入HTML的任意位置,head和/head之间可以,body间/body也可以,越前越早执行,尤其是页面代码长的页面,这种js弹出对话框想早点弹出就尽量往前放。
【2、增加属性设置的js弹出对话框代码】
下面再说一说js弹出对话框窗口属性的设置。只要再往上面的代码中加一点东西就可以了。
我们来定制这个js弹出对话框弹出的窗口的外观,尺寸大小,弹出的位置以适应该页面的具体情况。
复制代码代码如下:
View Code
script LANGUAGE="javascript"
!--
window.open("page.html", "newwindow","height=100, width=400, top=0,left=0,toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no,status=no")
//写成一行
--
/script
参数解释:
script LANGUAGE="javascript" js脚本开始;
window.open 弹出新窗口的命令;
"page.html" 弹出窗口的文件名;
"newwindow" 弹出窗口的名字(不是文件名),非必须,可用空""代替;
height=100 窗口高度;
width=400 窗口宽度;
top=0 窗口距离屏幕上方的象素值;
left=0 窗口距离屏幕左侧的象素值;
toolbar=no 是否显示工具栏,yes为显示;
menubar,scrollbars 表示菜单栏和滚动栏。
resizable=no 是否允许改变窗口大小,yes为允许;
location=no 是否显示地址栏,yes为允许;
status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;
/script js脚本结束
【3、用函数控制js弹出对话框窗口】
下面是一个完整js弹出对话框的代码。
复制代码代码如下:
View Code
html
head
script LANGUAGE="javascript"
!--
function openwin() { window.open ("page.html", "newwindow", "height=100, width=400, toolbar=
no, menubar=no, scrollbars=no, resizable=no, location=no, status=no")
//写成一行
}
//--
/script
/head
body onload="openwin()"
...任意的页面内容...
/body
/html
这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。
怎么调用呢?
方法一:浏览器读页面时弹出窗口;
复制代码代码如下:
body onload="openwin()"
方法二:浏览器离开页面时弹出窗口;
复制代码代码如下:
body onunload="openwin()"
方法三:用一个连接调用:
复制代码代码如下:
a href="#" onclick="openwin()"打开一个窗口/a
注意:使用的“#”是虚连接。
方法四:用一个按钮调用:
复制代码代码如下:
input type="button" onclick="openwin()" value="打开窗口"
【4、同时弹出2个窗口的js弹出对话框】
对源代码稍微改动一下:
复制代码代码如下:
View Code
script LANGUAGE="javascript"
!--
function openwin()
{window.open ("page.html", "newwindow", "height=100, width=100,top=0,left=0,toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no")
//写成一行
window.open ("page2.html","newwindow2", "height=100, width=100, top=100, left=100,toolbar=no,menubar=no, scrollbars=no, resizable=no, location=no, status=no")
//写成一行
}
//--
/script
为避免弹出的2个窗口覆盖,用top和left控制一下弹出的位置不要相互覆盖即可。最后用上面说过的四种方法调用即可。
注意:2个js弹出对话框窗口的name(newwindows和newwindow2)不要相同,或者干脆全部为空。
【5、主窗口打开文件1.htm,同时弹出小窗口page.html】
如下代码加入主窗口head区:
复制代码代码如下:
View Code
script language="javascript"
!--
function openwin()
{window.open("page.html","","width=200,height=200")
}
//--
/script
加入body区:
复制代码代码如下:
a href="1.htm" onclick="openwin()"open/a
即可。
【6、js弹出对话框弹出的窗口之定时关闭控制】
下面我们再对js弹出对话框的窗口进行一些控制,效果就更好了。如果我们再将一小段代码加入弹出的页面(注意是加入到page.html的HTML中,可不是主页面中,否则...),让它10秒后自动关闭是不是更酷了?
首先,将如下代码加入page.html文件的head区:
复制代码代码如下:
script language="javascript"
function closeit()
{setTimeout("self.close()",10000) //毫秒}
/script
然后,再用body onload="closeit()" 这一句话代替page.html中原有的BODY这一句就可以了。(这一句话千万不要忘记写啊!这一句的作用是调用关闭窗口的代码,10秒钟后就自行关闭该窗口。)
【7、在js弹出对话框窗口中加上一个关闭按钮】
复制代码代码如下:
FORM
INPUT TYPE="BUTTON" value="关闭" onClick="window.close()"
/FORM
呵呵,现在更加完美了!
【8、内包含的js弹出对话框窗口-一个页面两个窗口】
上面的例子都包含两个窗口,一个是主窗口,另一个是弹出的小窗口。
通过下面的例子,你可以在一个页面内完成上面的效果。
复制代码代码如下:
View Code
html
head
script LANGUAGE="javascript"
function openwin()
{OpenWindow=window.open("", "newwin", "height=250, width=250,toolbar=no,scrollbars="+scroll+",menubar=no");
//写成一行
OpenWindow.document.write("TITLE例子/TITLE")
OpenWindow.document.write("BODY BGCOLOR=#ffffff")
OpenWindow.document.write("h1Hello!/h1")
OpenWindow.document.write("New window opened!")
OpenWindow.document.write("/BODY")
OpenWindow.document.write("/HTML")
OpenWindow.document.close()}
/script
/head
body
a href="#" onclick="openwin()"打开一个窗口/a
input type="button" onclick="openwin()" value="打开窗口"
/body
/html
看看 OpenWindow.document.write()里面的代码不就是标准的HTML吗?只要按照格式写更多的行即可。千万注意多一个标签或少一个标签就会出现错误。记得用OpenWindow.document.close()结束啊。
【9、终极应用--js弹出对话框的窗口之Cookie控制】
回想一下,上面的弹出窗口虽然酷,但是有一点小毛病(沉浸在喜悦之中,一定没有发现吧?)比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页),那么每次刷新这个页面,窗口都会自动执行js弹出对话框代码一次,是不是非常烦人?:-(有解决的办法吗?Yes! ;-) Follow me.
我们使用cookie来控制一下就可以了。
首先,将如下代码加入主页面HTML的HEAD区:
复制代码代码如下:
View Code
script
function openwin()
{window.open("page.html","","width=200,height=200")}
function get_cookie(Name)
{var search = Name + "="
var returnvalue = "";
if (documents.cookie.length 0) {
offset = documents.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = documents.cookie.indexOf(";", offset);
if (end == -1)
end = documents.cookie.length;
returnvalue=(documents.cookie.substring(offset,end))
}
}
return returnvalue;
}
function loadpopup(){
if (get_cookie("popped")==""){
openwin()
documents.cookie="popped=yes"
}
}
/script
然后,用bodyonload="loadpopop()"(注意不是openwin而是loadpop啊!)替换主页面中原有的BODY这一句即可。你可以试着刷新一下这个页面或重新进入该页面,窗口再也不会再有js弹出对话框了。真正的实现只弹一次。
需要注意的是,JS脚本中的的大小写最好前后保持一致。
以上就是九种js弹出对话框的代码,如果有其它方法也可以提供给我喔,当然自己写的弹窗也Ok的啦。
希望河南新华的回答可以帮助到你
可以通过以下的几个步骤来完成阻止网页窗口的弹出。
1、对于每次进入系统桌面就会弹出网页窗口的情况,可采用的办法是:打开“运行”对话框,输入命令“msconfig”,点击确定,在弹出的窗口中选择“启动”选项卡,把里面所有后缀为url、html、htm的网址文件都取消勾选。
2、打开“运行”对话框,输入命令“regedit”,点击确定,打开注册表编辑器,找到"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\ CurrentVersion\Winlogon"主键,然后在右边窗口中找到"LegalNoticeCaption"和 "LegalNoticeText"这两个字符串,删除这两个字符串就可以解决在启动时出现提示框的现象了。
3、由于信使功能会弹出广告,因此需要禁止该功能。打开“运行”对话框,分别输入命令“net stop msg”和“net stop alert”并点击确定。执行完以上命令后,即禁用了信使广告。
4、查看hosts文件中是否含有弹出网页的地址信息。定位到“%系统根目录%WINDOWS/system32/drivers/etc/下,找到hosts文件,然后用记事本打开,查看其中的内容,确保“127.0.0.1”作为第一项出现,同时删除那些可能含有弹出网页窗口的网址。
5、设置IE选项,阻止网页窗口的弹出。打开IE浏览器,点击“设置”按钮,在其下拉列表中选择“Internet 选项”,选择“高级”选项卡,勾选“禁用脚本调试”两项。点击“确定”完成设置。然后选择“安全”选项卡,点击“自定义级别”,在弹出的窗口中找到“脚本”-“自定义脚本”,选择“禁用”,然后点击“确定”。最后重启浏览器。
6、下载安装最新版本的IE9浏览器,该款浏览器提供了对网页弹出窗口阻止程序的有力支持,使用该款浏览器时,在默认情况下,是启动对弹出窗口网页进行禁止的。