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 相关文章推荐
js用图作提交按钮或超连接
Mar 26 Javascript
JS控制一个DIV层在指定时间内消失的方法
Feb 17 Javascript
js获取下拉列表的值和元素个数示例
May 07 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
May 29 Javascript
原生js实现图片轮播特效
Dec 18 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
Feb 19 Javascript
使用vue.js实现联动效果的示例代码
Jan 10 Javascript
Angular 2.0+ 的数据绑定的实现示例
Aug 09 Javascript
微信小程序实现全国机场索引列表
Jan 31 Javascript
微信小程序实现文件预览
Oct 22 Javascript
Vue+Spring Boot简单用户登录(附Demo)
Nov 12 Javascript
微信小程序实现左滑删除效果
Nov 18 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获取mysql数据库中的所有表名的代码
2011/04/23 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
单击和双击事件的冲突处理示例代码
2014/04/03 Javascript
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
vue数据双向绑定原理解析(get &amp; set)
2017/03/08 Javascript
Javascript中的getter和setter初识
2017/08/17 Javascript
jQuery图片查看插件Magnify开发详解
2017/12/25 jQuery
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
JavaScript实现HSL拾色器
2020/05/21 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
[05:42]DOTA2英雄梦之声_第10期_蝙蝠骑士
2014/06/21 DOTA
python django集成cas验证系统
2014/07/14 Python
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
怎么使用pipenv管理你的python项目
2018/03/12 Python
Python利用openpyxl库遍历Sheet的实例
2018/05/03 Python
python 经典数字滤波实例
2019/12/16 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
美的官方商城:Midea
2016/09/14 全球购物
高性能钓鱼服装:Huk Gear
2019/02/20 全球购物
英国最大的笔记本电脑直销专家:Laptops Direct
2019/07/20 全球购物
技术经理的自我评价范文
2013/12/03 职场文书
应届毕业生求职信范文
2013/12/18 职场文书
财务工作个人求职的自我评价
2013/12/19 职场文书
依法行政工作汇报
2014/10/28 职场文书
MySQL获取所有分类的前N条记录
2021/05/07 MySQL
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python
深入理解go缓存库freecache的使用
2022/02/15 Golang