网页|扇形菜单—你不get一下吗?

简介: 网页|扇形菜单—你不get一下吗?

一、扇形菜单介绍

扇形菜单,就是将导航菜单制作成扇形的形状。简单来说就是通过点击一个按钮,弹出一个以这个按钮为圆心的扇形按钮菜单,(可以根据需要添加按钮个数)。可以通过改变一下半径的长度,实现扇形形状的大小。

图1.1 扇形菜单效果图

二、解析思路

通过分析扇形菜单页面,可以归纳总结出如下实现细节 :

(1) 使用带有 touch 功能的 Zepto 文件实现。

(2) 使用类选择器、find()筛选需要的元素。

(3) 使用 hasClass、removeClass、addClass 等方法来判断该扇形菜单是否处于打开状态,如果是打开状态,则关闭扇形菜单;如果是关闭状态,就打开它。hasClass(class)用于检查当前的元素是否含有某个特定的类,如果有,则返回true,class:用于匹配的类名。


三、制作过程

(1)首先当然是引入zepto.min.js文件。

<script type="text/javascript"  src="js/zepto.min.js"></script>

(2)利用h5实现扇形菜单的的基础布局,这里还是使用的bootstrap框架。

<div style="height:1000px;width: 300px;"></div>

<div>

       <div><img src="img/menu.png"  /><span></span></div>

       <div  class="btn btn1" data-num="1"><span>照相</span></div>

       <div  class="btn btn2" data-num="2"><span>定位</span></div>

       <div  class="btn btn3" data-num="3"><span>音乐</span></div>

       <div  class="btn btn4" data-num="4"><span>聊天</span></div>

</div>

(3)添加css样式(其他样式代码已省略)。这里简单介绍一下各种浏览器的属性:-moz代表firefox浏览器私有属性。-ms代表IE浏览器私有属性。-webkit代表chrome、safari私有属性。这种写法主要是为了兼容比较老的版本。

.btn{

       -webkit-transition:bottom  .2s,right .2s;

       -moz-transition:bottom  .2s,right .2s;

       -o-transition:bottom  .2s,right .2s;

       -ms-transition:bottom  .2s,right .2s;

       transition:bottom  .2s,right .2s;

       }

(4)添加js代码实现最后的效果。

这里我们主要使用了hasClass,span.removeClass方法。removeClass([class])从所有匹配的元素中删除全部或者指定的类,class(可选):一个或多个要删除的CSS类名,请用空格分开。addClass(class)为每个匹配的元素添加指定的类名,class:一个或多个要添加到元素中的CSS类名,请用空格分开。

<script type="text/javascript">

$(function(){

       $(".menu").click(function(){

              var  span = $(this).find("span");

              if(span.hasClass("open")){

                     span.removeClass("open").addClass("close");

                     $(".btn").removeClass("open").addClass("close");

              }else{

                     span.removeClass("close").addClass("open");

                     $(".btn").removeClass("close").addClass("open");

              }

       });

});

</script>



目录
相关文章
|
PyTorch 算法框架/工具 索引
Pytorch学习笔记(2):数据读取机制(DataLoader与Dataset)
Pytorch学习笔记(2):数据读取机制(DataLoader与Dataset)
769 0
Pytorch学习笔记(2):数据读取机制(DataLoader与Dataset)
|
5月前
|
小程序 容器
微信小程序常用组件的简单使用 view,scroll-view,swiper,swiper-item,text,rich-text,button,image
本文介绍了微信小程序中常用组件的使用方法,包括view、scroll-view、swiper与swiper-item、text与rich-text、button以及image组件。详细解释了各组件的功能、属性以及如何在小程序页面中进行使用。
微信小程序常用组件的简单使用 view,scroll-view,swiper,swiper-item,text,rich-text,button,image
|
3月前
|
移动开发 JavaScript 前端开发
"Vue开发者必看:一篇文章教你如何实现px自动转换vw或rem,轻松应对H5页面响应式设计挑战!"
【10月更文挑战第23天】在Vue项目中实现px到vw或rem的自动转换,可以使用PostCSS插件。首先安装`postcss-loader`,然后添加`postcss-px-to-viewport`和`postcss-pxtorem`插件,并在`postcss.config.js`中配置。配置完成后,直接在Vue组件中使用px单位编写样式,PostCSS会自动转换为vw或rem。这样可以简化开发流程,提高代码的可维护性和页面的响应式设计能力。
377 0
|
6月前
|
前端开发
el-form-item label中的字体样式设置格式
这篇文章介绍了如何在Element UI的`el-form-item`组件中自定义`label`标签的样式,通过使用`slot`属性和内联CSS来改变字体颜色和加粗显示。
el-form-item label中的字体样式设置格式
成功解决:443端口被vmware-host(8992)占用。请关掉占用443端口的程序或者尝试使用系统代理模式
该博客文章提供了解决443端口被vmware-host占用问题的方法,包括关闭占用端口的程序或尝试使用系统代理模式。
成功解决:443端口被vmware-host(8992)占用。请关掉占用443端口的程序或者尝试使用系统代理模式
|
7月前
|
PyTorch TensorFlow 调度
Transformers 4.37 中文文档(一)(5)
Transformers 4.37 中文文档(一)
98 1
|
9月前
|
网络安全 Python
vscode远程连接修改python解释器路径 - 蓝易云
以上就是在VSCode中修改Python解释器路径的步骤。希望这个指南能帮助你解决问题。
497 2
|
9月前
|
存储 Shell 数据安全/隐私保护
ZooKeeper【基础知识 04】控制权限ACL(原生的 Shell 命令)
【4月更文挑战第11天】ZooKeeper【基础知识 04】控制权限ACL(原生的 Shell 命令)
179 7
|
JavaScript 视频直播
【视频直播篇四】vue-cli3集成flv.js
本文着重介绍vue-cli3集成flv.js
318 0
|
开发框架 数据安全/隐私保护 Android开发
iOS二维码的生成和扫码详细介绍(手把手教)
iOS二维码的生成和扫码详细介绍(手把手教)
720 0

热门文章

最新文章