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判断不同分辨率调用不同的CSS样式文件实现思路及测试代码
Jan 23 Javascript
使用jQuery.wechat构建微信WEB应用
Oct 09 Javascript
javascript移动开发中touch触摸事件详解
Mar 18 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
Aug 17 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
Oct 09 Javascript
BootStrap 可编辑表Table格
Nov 24 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
Nov 29 Javascript
微信小程序实现下拉刷新和轮播图效果
Nov 21 Javascript
Vue $emit $refs子父组件间方法的调用实例
Sep 12 Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
Oct 25 Javascript
简单了解node npm cnpm的具体使用方法
Feb 27 Javascript
JavaScript圣杯布局与双飞翼布局实现案例详解
Aug 05 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 fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
php setcookie函数的参数说明及其用法
2014/04/20 PHP
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
javascript改变position值实现菜单滚动至顶部后固定
2013/01/18 Javascript
js动态设置鼠标事件示例代码
2013/10/30 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
2013/11/26 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
2018/08/27 Javascript
小程序组件之仿微信通讯录的实现代码
2018/09/12 Javascript
微信小程序开发之路由切换页面重定向问题
2018/09/18 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
浅谈Angular单元测试总结
2019/03/22 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
2019/09/09 Javascript
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python smtplib模块发送SSL/TLS安全邮件实例
2015/04/08 Python
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
Python IDLE入门简介
2017/12/08 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
2018/11/30 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
Python网页解析器使用实例详解
2020/05/30 Python
Python中的Cookie模块如何使用
2020/06/04 Python
Python正则表达式高级使用方法汇总
2020/06/18 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
生产主管岗位职责
2013/11/10 职场文书
村委会主任先进事迹
2014/01/15 职场文书
教师节商场活动方案
2014/02/13 职场文书
教师网络培训感言
2014/03/09 职场文书
计划生育工作汇报
2014/10/28 职场文书
大学生学期个人总结
2015/02/12 职场文书
创卫工作总结2015
2015/04/22 职场文书
莫言获奖感言(全文)
2015/07/31 职场文书
初中语文教学研修日志
2015/11/13 职场文书
Nginx配置https原理及实现过程详解
2021/03/31 Servers