JS+HTML实现的圆形可点击区域示例【3种方法】


Posted in Javascript onAugust 01, 2018

本文实例讲述了JS+HTML实现的圆形可点击区域。分享给大家供大家参考,具体如下:

方法一:

<img>通过usemap映射到<map>的circle形<area>

<img src="images/lanlvseImg.png" usemap="#Map" /> 
<map name="Map" id="Map">
 <area shape="circle" coords="100,100,50" href="http://www.baidu.com" rel="external nofollow" target="_blank"/>
</map>

方法二:

设置div的border-radius:50%

<div id="circle"></div>
#circle{
 background:red;
 width:100px;
 height:100px;
 border-radius:50%;
}

方法三:

JS实现,获取鼠标点击位置坐标,判断其到圆点的距离是否不大于圆的半径,来判断点击位置是否在圆内。

document.onclick = function(e) { 
 var r = 50; 
 var x1 = 100;
 var y1 = 100;
 var x2= e.clientX;
 var y2= e.clientY; 
 var distance = Math.abs(Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2))); 
 if (distance <= 50)
 alert("Yes!"); 
}

感兴趣的朋友可以使用在线HTML/CSS/JavaScript前端代码调试运行工具:http://tools.3water.com/code/WebCodeRun测试一下运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
短信提示使用 特效
Jan 19 Javascript
jQuery1.6 类型判断实现代码
Sep 01 Javascript
js 获取计算后的样式写法及注意事项
Feb 25 Javascript
jQuery中replaceWith()方法用法实例
Dec 25 Javascript
Js实现无刷新删除内容
Apr 29 Javascript
jquery获取form表单input元素值的简单实例
May 30 Javascript
Bootstrap零基础入门教程(三)
Jul 18 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 jQuery
vue中进入详情页记住滚动位置的方法(keep-alive)
Sep 21 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
Jul 29 Javascript
vue中使用element组件时事件想要传递其他参数的问题
Sep 18 Javascript
VUEX-action可以修改state吗
Nov 19 Javascript
create-react-app 修改为多入口编译的方法
Aug 01 #Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
Aug 01 #Javascript
JavaScript执行环境及作用域链实例分析
Aug 01 #Javascript
Vue.js 利用v-for中的index值实现隔行变色
Aug 01 #Javascript
echarts设置图例颜色和地图底色的方法实例
Aug 01 #Javascript
看看“疫苗查询”小程序有温度的代码
Jul 31 #Javascript
Vue父子组件双向绑定传值的实现方法
Jul 31 #Javascript
You might like
php获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
php使用ereg验证文件上传的方法
2014/12/16 PHP
PHP简单遍历对象示例
2016/09/28 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
php操作redis常见方法示例【key与value操作】
2020/04/14 PHP
javascript事件模型实例分析
2015/01/30 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
vue中各组件之间传递数据的方法示例
2017/07/27 Javascript
vue 指定组件缓存实例详解
2018/04/01 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
小程序实现多选框功能
2018/10/30 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
2020/02/15 Javascript
react的hooks的用法详解
2020/10/12 Javascript
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
Python Numpy:找到list中的np.nan值方法
2018/10/30 Python
python实现图片转字符小工具
2019/04/30 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2020/02/13 Python
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
马德里竞技官方网上商店:Atletico Madrid Shop
2019/03/31 全球购物
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
NULL是什么,它是怎么定义的
2015/05/09 面试题
中学自我评价
2014/01/31 职场文书
忠诚教育心得体会
2014/09/03 职场文书
警示教育片观后感
2015/06/17 职场文书
学生退学证明
2015/06/23 职场文书
催款函怎么写
2015/06/24 职场文书
2019年妇科护士的自我鉴定(3篇)
2019/09/26 职场文书
导游词之湖州-太湖
2019/10/11 职场文书
浅谈Mysql多表连接查询的执行细节
2021/04/24 MySQL
Python中的 Set 与 dict
2022/03/13 Python
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技