day10—jQuery初步实践,关于菜单
转行学开发,代码100天——2018-03-26
今天是本人写开发记录方面博客的第10天了,不知不觉已经涉及到jQuery框架的学习了。
第一次熬夜写前端代码还是两年前,不过中途放弃了,学的东西也日渐生疏,但今日持续敲代码的过程中,还是能找回一些当年的感觉了,有一些不同的是,如今需要更强的克制和执行,也多了些功利心理。
不多说,今天记录一下通过jQuery实现垂直和水平菜单功能,缺少配图,重点提供实现的思路。
菜单实现一般都是通过ul,li列表实现的,每个菜单项关联一个链接,即a标签。个人觉得垂直布局和水平布局的实现主要有两个方面的工作,一是菜单内容的布局调整,如位置,字体,背景等,即CSS设计部分;二是菜单操作的交互,即通过jQuery实现对菜单内容的HTML和样式CSS部分的操作(修改,动画等)。
本文的功能实现还相对简单,仅作为记录,若能有益于他人,则不甚欣慰。
垂直菜单&水平菜单
HTML
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="mycss.css">
<script type="text/javascript" src="jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="myjs.js"></script>
</head>
<body>
<!--垂直菜单-->
<ul>
<li class="main">
<a href="#">菜单1</a>
<ul>
<li><a href="#">子菜单1</a></li>
<li><a href="#">子菜单1</a></li>
</ul> </li>
<li class="main">
<a href="#">菜单2</a>
<ul>
<li><a href="#">子菜单1</a></li>
<li><a href="#">子菜单1</a></li>
</ul> </li>
<li class="main">
<a href="#">菜单3</a>
<ul>
<li><a href="#">子菜单1</a></li>
<li><a href="#">子菜单1</a></li>
</ul> </li>
</ul> <!--水平菜单--> <br/><br/><br/><br/>
<p>水平菜单</p>
<ul>
<li class="hmain">
<a href="#">菜单1</a>
<ul>
<li><a href="#">子菜单1</a></li>
<li><a href="#">子菜单1</a></li>
</ul> </li>
<li class="hmain">
<a href="#">菜单2</a>
<ul>
<li><a href="#">子菜单1</a></li>
<li><a href="#">子菜单1</a></li>
</ul>
</li>
<li class="hmain">
<a href="#">菜单3</a>
<ul>
<li><a href="#">子菜单1</a></li>
<li><a href="#">子菜单1</a></li>
</ul> </li>
</ul> </body>
</html>
CSS部分:
*{
margin:;
padding:;
}
ul,li
{
text-decoration: none;
}
ul
{
}
.main,.hmain
{
/*可添加背景图片 */
/*background-image: url();
background-repeat: repeat-x;*/
width: 100px;
}
li
{
background-color: #eee;
}
a{
text-decoration: none;
padding-left: 20px;
width: 80px;
padding-top: 3px;
padding-bottom: 3px;
display: block;
}
.main a,.hmain a
{
/*color: white;*/
/*background-image: url(images/collapsed.gif);*/
background-repeat: none;
background-position: 3px center;
}
.main li a,.hmain li a
{
color: black;
background-image: none;
}
.main ul,.hmain ul
{
display: none;
}
.hmain
{
float: left;
margin-right: 3px;
}
$(document).ready(function()
{
$(".main>a").click(function()
{
// alert("点击了");
var ulNode = $(this).next("ul");
//方法1
// if (ulNode.css("display")=="none") {
// ulNode.css("display","block");
// }else
// {
// ulNode.css("display","none");
// }
//方法2
// if (ulNode.css("display")=="none") {
// ulNode.show();
// }else
// {
// ulNode.hide();
// }
//方法3
// ulNode.toggle(1000);
//方法4
// if (ulNode.css("display")=="none") {
// ulNode.slideDown(500);
// }else
// {
// ulNode.slideUp();
// }
//方法5
ulNode.slideToggle(1000);
}); $(".hmain").hover(function()
{
var ulNode =$(this).children("ul");
ulNode.slideDown();
},function()
{
var ulNode =$(this).children("ul");
ulNode.slideUp(); });
});
至此,就实现了一个简单的菜单效果。可作为日后正式网页设计时的参考或者部分重用。
day10—jQuery初步实践,关于菜单的更多相关文章
- jQuery简单的手风琴菜单
查看效果:http://keleyi.com/keleyi/phtml/menu/5.htm 本菜单的HTML代码和JS代码都简洁,完整源代码: <!DOCTYPE html PUBLIC &q ...
- 用jQuery做一个三级菜单,鼠标移动到二级菜单的选项上,然后再迅速离开后,当鼠标再移动到该一级菜单或其他二级菜单选项,三级菜单也会显示。
用jQuery做一个三级菜单,鼠标移动到二级菜单的选项上,然后再迅速离开后,当鼠标再移动到该一级菜单或其他二级菜单选项,三级菜单也会显示. 原因:在为一个元素绑定hover事件之后,用户把光标移入元素 ...
- 一款效果精致的 jQuery 多层滑出菜单插件
想要以用户友好的方式呈现多级菜单是件不容易的事情,而且还要跨浏览器兼容就更难了.Multi-Level Push Menu 这款 jQuery 插件提供了呈现这种菜单的解决方案,能够让你无限制的展示菜 ...
- 转:jQuery弹出二级菜单
<html> <head> <meta http-equiv="content-type" content="text/html; char ...
- jQuery水平下拉菜单实现
<!DOCTYPE html> <html> <head> <title>jQuery水平下拉菜单实现</title> ...
- 基于jQuery右下角旋转环状菜单代码
基于jQuery右下角旋转环状菜单代码.这是一款固定在页面的右下角位置,当用户点击了主菜单按钮后,子菜单项会以环状旋转进入页面,并使用animate.css来制作动画效果.效果图如下: 在线预览 ...
- 【jQuery Demo】jQuery打造动态下滑菜单
作者:漫凯维奇 来源:[教程]jQuery打造动态下滑菜单 Tip:这只是一个转载,源代码可以在上面的来源博文中下载 此教程将分步讲解如何使用JQuery和CSS打造一个炫酷动感菜单.效果如 ...
- 我收集到的最好的jQuery和CSS3导航菜单
jQuery和CSS3导航菜单在网页设计和开发的重要组成部分之一.利用jQuery+CSS3实现可以做出拥有各种动画效果的漂亮菜单.在这里,我们收集了一些最好的jQuery+CSS3实现的导航菜单. ...
- 20款jquery下拉导航菜单特效代码分享
20款jquery下拉导航菜单特效代码分享 jquery仿京东商城左侧分类导航下拉菜单代码 jQuery企业网站下拉导航菜单代码 jQuery css3黑色的多级导航菜单下拉列表代码 jquery响应 ...
随机推荐
- Java中数据类型的分类
我们知道Java是强类型语言,那么肯定对应的也就有弱类型语言,以下介绍强类型语言与弱类型语言的区别: 强类型语言: 强类型语言也就是强制数据类型定义的语言.也就是说,一旦一个变量被指定了某个数据类型, ...
- python里的排序
本篇文章主要讲: 自定义规则排序 多字段排序 开讲之前,先讲一些简单sorted()或者sort(),两者返回值不同!大家自行学习,不是本文的重点! sorted([5, 2, 3, 1, 4]) # ...
- CVE-2016-2502-drivers/usb/gadget/f_serial.c in the Qualcomm USB driver in Android. Buffer Overflow Vulnerability reported by #plzdonthackme, Soctt.
CVE-2016-2502-drivers/usb/gadget/f_serial.c in the Qualcomm USB driver in Android.Buffer Overflow Vu ...
- JS 总结之关于 this 应该知道的几个点
JS 中的 this 对每位前端工程师都不陌生,经常看到对象这里 this 那里 this,那什么是 this?答案就是上下文对象,即被调用函数所处的环境,也就是说,this 在函数内部指向了调用函数 ...
- P3724 [AH2017/HNOI2017]大佬
传送门 发现保持自信和做其他事情互不干扰,可以直接做一次 $dp$ 求出最多能空出几天来怼大佬 然后就变成给你若干天,是否能怼死大佬,考虑求出所有的 天数和输出的嘲讽值集合,因为天数不多,嘲讽值增长很 ...
- spark复习笔记(6):数据倾斜
一.数据倾斜 spark数据倾斜,map阶段对key进行重新划分.大量的数据在经过hash计算之后,进入到相同的分区中,zao
- 线程局部变量ThreadLocal实现原理
ThreadLocal,即线程局部变量,用来为每一个使用它的线程维护一个独立的变量副本.这种变量只在线程的生命周期内有效.并且与锁机制那种以时间换取空间的做法不同,ThreadLocal没有任何锁机制 ...
- 在虚拟机Linux中安装VMTools遇到的问题-小结
总结: 遇到的问题:No support for locale: zh_CN.utf8 可能的解决方法:1.sudo dpkg-reconfigure locale (重新配置?) 2.上一步失败,提 ...
- V7双雄-基于Virtex7XC7VX690T的高性能计算板卡解决方案
北京太速V7双雄-基于Virtex7XC7VX690T的高性能计算板卡
- Memcache--02 源码安装nginx,php
目录 一.session共享问题介绍 二.环境准备 一.session共享问题介绍 session主要用于服务端存储用户会话信息,cookie用于浏览器存储用户会话信息. 单系统服务session都存 ...