网页前端后台技巧(CSS+HTML)让前端飞Web前端之路

三种方式实现圆形可点击区域

2018-05-05  本文已影响19人  椰果粒

1. map和area

<img src="./peppa.png" usemap="#Map">
<map name="Map" id="Map">
    <area shape="circle" coords="200,200,100" href="#rect" alt="圆形">
</map>

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

2. CSS3的border-radius属性

<div class="content"></div>
.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.onclick = 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<r){
        alert("bbb")
    }
}
上一篇 下一篇

猜你喜欢

热点阅读