HTML中设置连接的区域为圆形,三种方式实现圆形可点击区域

1. map和areapeppa.png

将img和map标签连起来的是usemap,它的值是map的id

area属性:shape:表示热点区域的形状,支持rect(矩形),circle(圆形),poly(多边形)

coords:表示热点区域的坐标,(0,0)表示图片左上角。rect四个值分别表示左上角坐标和右下角坐标。circle三个值分别表示圆心坐标和半径。poly有若干个值,每两个表示一个坐标点。

href:表示链接到某个地址,和标签差不多

alt:对该区域描述,类似于的alt

2. CSS3的border-radius属性

.content{

width: 100px;

height: 100px;

border-radius: 50%;

border: 1px solid #ccc;}

var content = document.getElementsByClassName("content")[0]

content.addEventListener("click",function(){

alert("aaa")

})

3. js实现

原理:设定一个坐标原点和半径,获取鼠标的x,y轴位置,当鼠标的位置与原点的位置不超过半径时,可点击(参照数学知识)document. = function(e){    let [x,y,r] = [100,100,100] // x,y为坐标原点,r为半径

let x1 = e.clientX; // 获取x坐标

let y1 = e.clientY; // 获取y坐标

let dis = Math.abs(Math.sqrt((Math.pow(x-x1,2)+Math.pow(y-y1,2))))    if(dis

alert("bbb")

}

}Math.abs():取绝对值

Math.sqrt():开平方

Math.pow(num,n):num的n次方

作者:椰果粒

链接:https://www.jianshu.com/p/4904f96b06b3

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值