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 相关文章推荐
从新浪弄下来的全屏广告代码 与使用说明
Mar 15 Javascript
动态刷新 dorado树的js代码
Jun 12 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
Jun 17 Javascript
JS数组去重(4种方法)
Mar 27 Javascript
React Native之ListView实现九宫格效果的示例
Aug 02 Javascript
jquery的 filter()方法使用教程
Mar 22 jQuery
vue.js打包之后可能会遇到的坑!
Jun 03 Javascript
基于rollup的组件库打包体积优化小结
Jun 18 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
Aug 28 Javascript
浅谈webpack 四个核心概念之Entry
Jun 12 Javascript
Vue 权限控制的两种方法(路由验证)
Aug 16 Javascript
js实现拖拽与碰撞检测
Sep 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中使用反射技术的架构插件使用说明
2010/05/18 PHP
基于Discuz security.inc.php代码的深入分析
2013/06/03 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
捕获关闭窗口的脚本
2009/01/10 Javascript
JQuery的ajax基础上的超强GridView展示
2009/09/18 Javascript
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
判断客户端浏览器是否安装了Flash插件的多种方法
2010/08/11 Javascript
Jquey拖拽控件Draggable使用方法(asp.net环境)
2010/09/28 Javascript
浅谈javascript中的作用域
2012/04/07 Javascript
js实现ifram取父窗口URL地址的方法
2015/02/09 Javascript
jquery中trigger()无法触发hover事件的解决方法
2015/05/07 Javascript
功能强大的Bootstrap组件(结合js)
2016/08/03 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
js实现一键复制功能
2017/03/16 Javascript
js前端实现图片懒加载(lazyload)的两种方式
2017/04/24 Javascript
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
2018/09/19 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
Python查询Mysql时返回字典结构的代码
2012/06/18 Python
python2和python3在处理字符串上的区别详解
2019/05/29 Python
python模拟实现斗地主发牌
2020/01/07 Python
解决H5的a标签的download属性下载service上的文件出现跨域问题
2019/07/16 HTML / CSS
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
高中生的学习总结自我鉴定
2013/10/26 职场文书
煤矿安全承诺书
2014/05/22 职场文书
霸气队列口号
2014/06/18 职场文书
群众路线对照检查材料思想汇报怎么写
2014/09/18 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
2015年小学师德师风建设工作总结
2015/10/23 职场文书
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技