如何实现a标签点击事件,d出d窗而不是页面

如何实现a标签点击事件,d出d窗而不是页面,第1张

<html lang="en">

<head>

<meta charset="UTF-8">

<title>d窗</title>

</head>

<style>

#alert_box

{

width: 200px

height: 200px

background-color: red

display: none

position: absolute

}

</style>

<body>

<div id="alert_box"></div>

<button id="btn">d窗</button>

<script>

var width=document.documentElement.clientWidth||document.body.clientWidth

var height=document.documentElement.clientHeight||document.body.clientHeight

    document.getElementById("btn").addEventListener("click",alert_box)

function alert_box()

    {

document.getElementById("alert_box").style="display:inlineposition:absoluteleft:"+Math.floor((width-200)/2)+"pxtop:"+Math.floor((height-200)/2)+"px"

}

</script>

</body>

</html>

扩展资料:

注意事项

常见正常d出窗口失效的原因:

1.使用window.open,但是定义窗口名,也就是在打开窗口传入name参数,因为window.open只能打开唯一的窗体名为name的窗体。所以有些人会以为被浏览器拦截屏蔽了。

2.使用异步的ajax,通过ajax向服务器请求,在请求完成后再打开窗口的 *** 作,如果是使用异步的方式,将出现延时,这是浏览器就会以为不是用户触发的 *** 作,这时只要设置同步的方式即可。笔者就是因为这个原因。

可能存在替代方案:

既然想到d窗,固然是因为有这方面的需求,目前‘浏览器无法拦截的d出窗口’是不可能的,能不能找到替代方案。这里提供两个方案:

1.如果是d窗广告,一般的做法是在页面document绑定click事件或者的srcoll事件,因为一般打开网页都会点一下或者是滚一下鼠标。所以就很容易的d窗了(这里以技术出发,笔者代表绝大部分用户不接受这种广告方式)。

2.如果是d出通知信息,就更容易,不用这么鬼鬼祟祟了,直接d出div的“窗口就行”。

为超链接添加onclick()动作,动作内容为d出对话框。javascript提供了3种类型的对话框:

alert() : 提醒

confirm():确认,返回 true 或者 false

prompt():带输入的对话框

下面进行实例演示:

1、HTML结构

   <a href="#" onclick="fun1()">你有一个礼物</a><a href="#" onclick="fun2()">我要接收礼物</a><a href="#" onclick="fun3()">必须先对暗号</a>   

2、javascript代码

   function fun1(){    alert("你得到一个礼物!!")}function fun2(){    if(confirm("确定接收礼物?"))        alert("对一下暗号先...")}function fun3(){    var code = prompt("请对暗号:")    if(code)        alert("给你礼物!!")    else        alert("蒙人呢!")}   

在<a>标签中加上target="_blank"就是在新窗口打开,代码是:<a href="链接的页面" target="_blank">链接文字</a>。

如果不加就是在当前窗口打开,代码是:<a href="链接的页面">链接文字</a>。

下面演示一下在新窗口打开:

1、准备一个html文件

2、使用文本编辑器编辑该html文件,按前面说的代码格式输入代码,以百度为例:<a href="https://www.baidu.com" target="_blank">百度</a>,输完后按ctrl+s保存

3、在浏览器中打开之前保存好的html文件,然后点击页面中的“百度”,这时候页面就是在新窗口打开的。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11558905.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存