`
hiuman
  • 浏览: 52302 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

左侧菜单栏右侧内容(改进,有js效果)

阅读更多
(如有错敬请指点,以下是我工作中遇到并且解决的问题)上一篇文章是简洁版

这是上一篇文章的改进。
上一篇文章的左侧菜单是没有子目录的。

这是效果图:




左侧菜单代码:

<div class="left">
	<ul class="left_main">
		<li class="ma-li">
			<p>生活常用</p>
			<ul>
				<li class="one-px-line"></li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
			</ul>
		</li>
		<li class="ma-li">
			<p>生活常用</p>
			<ul>
				<li class="one-px-line"></li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
			</ul>
		</li>
		<li class="ma-li">
			<p>生活常用</p>
			<ul>
				<li class="one-px-line"></li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
			</ul>
		</li>
		<li class="ma-li">
			<p>生活常用</p>
			<ul>
				<li class="one-px-line"></li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
			</ul>
		</li>
		<li class="ma-li">
			<p>生活常用</p>
			<ul>
				<li class="one-px-line"></li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
			</ul>
		</li>
		<li class="ma-li">
			<p>生活常用</p>
			<ul>
				<li class="one-px-line"></li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
			</ul>
		</li>
		<li class="ma-li">
			<p>生活常用</p>
			<ul>
				<li class="one-px-line"></li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
			</ul>
		</li>
		<li class="ma-li">
			<p>生活常用</p>
			<ul>
				<li class="one-px-line"></li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
				<li class="pa-li">水果</li>
			</ul>
		</li>
	</ul>
</div>


引用
<li class="one-px-line"></li>

这是图中所示的下边框线,也可以直接给p标签加border-bottom。

样式部分只添加了以下内容:
.left li添加x方向超出内容隐藏,以及修改了.ma-li和.pa-li的样式。

.left li{
	overflow-x: hidden;
}

.ma-li,.pa-li{
	font-size: 16px;
	line-height: 45px;
	cursor: pointer;
}

.right .ma-li,.pa-li{
	padding-left: 20px;
}
.ma-li p{
	padding-left: 20px;
}
.ma-li.active p{
	border-left: 5px solid #1657c9;
	padding-left: 15px;
}
.pa-li{
	position: relative;
	left: 10px;
}
.pa-li.active{
	color: #1657c9
}


重点就是js部分了。我用的是JQuery写的。如有更好建议,可以提出来。

点击一级目录时二级目录的第一个元素默认active,即在点击一级目录时可以立刻请求接口获取第一个子元素的数据,当点击第二个元素时再获取第二个子元素的数据。

且点击一级目录时,二级目录会有一个向左移动的效果。

当然,打开页面时已经可以通过接口获得第一个一级目录里的第一个二级目录数据了。

再结合加载图使用,就更好了。


var _leftMali   = $('.left_main>.ma-li');
var _leftMaliUl = $('.left_main>.ma-li>ul');
var _leftPali   = $('.left_main .pa-li');

var _maLiFirst  = $('.left_main .ma-li:first-child');
_maLiFirst.addClass('active')
_maLiFirst.find('.pa-li').first().addClass('active')

_leftMali.each(function(){
	if($(this).hasClass('active')){
		$(this).find('ul').css('display','block')
	}else{
		$(this).find('ul').css('display','none')
	}

	/*_leftMali.find('.pa-li').animate({left:0},500)
	_leftMali.find('.pa-li').css('left','10px')*/

	_leftMali.unbind('click').click(function(){
		_leftMali.find('.pa-li').removeClass('active');
		$(this).find('.pa-li').first().addClass('active')
				
		$(this).addClass('active').find('ul').css('display','block');
		$(this).siblings().find('ul').css('display','none');
		$(this).siblings().removeClass('active');
	
		if(!$(this).hasClass('active')){
			$(this).find('.pa-li').animate({left:0},500)
			$(this).parent().find('.pa-li').css('left','10px')
		}
	})
	_leftPali.unbind('click').click(function(event){
		_leftPali.removeClass('active');
		$(this).addClass('active');
		event.stopPropagation();
	})
})

分享到:
评论

相关推荐

    微信小程序实现菜单左右联动

    在代码实现上,首先需要在页面的js文件中定义数据模型,比如左侧菜单的数据和右侧内容的数据。在wxml页面中,左侧菜单使用`scroll-view`并结合`wx:for`指令来遍历左侧数据生成菜单项。同时,为每个菜单项绑定点击...

    jQuery左侧人员添加到右侧联系人.zip

    在本项目中,“jQuery左侧人员添加到右侧联系人”是一个基于JavaScript库jQuery实现的功能,它允许用户通过交互式界面将人员列表中的联系人从左侧移动到右侧。这个功能常见于各种用户管理系统,如联系人管理应用或者...

    右边滑出菜单

    标题中的“右边滑出菜单”通常指的是网页或应用程序中一种常见的交互设计,用户点击或触发某个元素时,从右侧滑动出现的菜单。这种菜单设计能够有效地利用屏幕空间,提供更多的功能选项,同时保持界面的简洁性。在...

    KK唱响滑动效果

    在"LeftMenuRightContents"这个文件名中,我们可以推测这是一个包含了左侧菜单和右侧内容的布局。在KK唱响的滑动效果中,可能左边的菜单可以通过向右滑动展示,而向左滑动则会隐藏菜单,露出主要内容。这种设计既...

    简单的二栏博客模板-简单 博客 二栏 蓝色 背景 灰色.rar

    左侧通常是主要内容区域,如博客文章或导航菜单,而右侧则常用于放置侧边栏,包括最新文章、热门链接、广告、社交网络链接等辅助信息。这种布局方式有助于提高用户体验,让用户能够快速找到感兴趣的内容。 其次,...

    简单的三栏式博客模板4725_html网站模板_网页源码移动端前端_H5模板_自适应响应式源码.rar

    使用CSS可以实现三栏式的布局,即左侧、主要内容和右侧栏,同时通过媒体查询实现不同设备上的自适应显示。 3. **响应式设计**:响应式设计是一种让网站在各种屏幕尺寸上都能良好显示的技术。通过使用百分比单位、...

    基于Bootstrap3.3.6最新版本开发的扁平化主题,她采用了主流的左右两栏式布局.zip

    左侧通常包含导航菜单或侧边栏,右侧则展示主要内容。这种布局有助于用户快速定位和访问信息,同时保持页面的整洁。 HTML5是当前网页标准的核心,它引入了许多新的语义元素,如、、、和等,这些元素帮助开发者更好...

    基于ASP的Z-Blog双栏个人博客模板LaoZuo_SEOVIP v1.0.zip

    双栏布局是网页设计中常见的一种方式,它将页面分为左右两部分,通常左侧为主内容区,右侧为辅助信息区,如侧边栏、导航菜单、最新文章列表等。这种布局既能清晰地展示信息,又能保持页面的平衡感。LaoZuo_SEOVIP v...

    前端前端静态模板-非响应式左右菜单切换画面模板-学生作业毕设实训素材.zip

    JavaScript是一种脚本语言,它为页面添加交互性,例如这里的左右菜单切换功能,用户点击按钮时,JavaScript会改变菜单的状态,显示或隐藏左侧或右侧的菜单栏。 在进行毕业设计或论文项目时,使用这样的源码模板可以...

    学习网站整理

    在这个案例中,框架被用来创建一个两部分的界面:左侧展示树形结构(可能是一个导航菜单),右侧则显示具体的学习内容。 描述进一步解释了该网站的设计模式。左侧的树形结构可能是用于列出不同学科或主题的目录,...

    基于Web的美食分享平台的设计与实现——HTML+CSS+JavaScript水果介绍网页设计(橙子之家)

    - **动态效果**:通过JavaScript添加动画效果,如轮播图、图片放大预览等功能,提高用户的互动体验。 - **多媒体元素**:在网页中嵌入视频、音频、Flash等多媒体元素,丰富内容形式。 - **个性化主题**:支持多种...

    HTML5 模板

    这种布局方式使得左侧或右侧的栏(通常是导航菜单、侧边栏或者广告)在用户滚动页面时始终保持可见,从而保持用户导航的连贯性。HTML5通过CSS3的`position: fixed`属性实现这一效果,可以将元素固定在屏幕的特定位置...

    电子简历管理系统源码

    - `.leftMenu`为左侧菜单栏添加了边框和文本对齐方式。 - `.input`和`.addInput`定义了输入框的样式,包括边框和尺寸,`.addInput`可能用于新增操作,有稍微不同的样式。 - `.submit`可能是提交按钮的样式,具有边框...

    一个简单模版

    7. js:JavaScript文件夹,包含了实现页面交互效果和功能的脚本,如表单验证、动态效果等。 通过分析这些文件,我们可以学习到以下网页开发的知识点: 1. HTML文件结构:每个HTML文件都代表一个页面的部分,它们是...

    MY动力 Ver 3.51 Build 正式版.rar

     (3)增加了下选菜单功能,如将表格功能的表格的属性、 插入删除行、 插入删除列 、 向右向下合并、拆分单元格等功能置于表格按钮右边的下选菜单中。  (4)增强了插入图片、SWF、视频文件、Realplay的功能,修正...

    绿色三列信息企业网页模板

    【绿色三列信息企业网页模板】是一种常见的网页设计布局,主要特点是将网页内容分为三个等宽的区域,通常包括左侧栏、中间主要内容区和右侧栏。这种布局方式在企业网站中广泛应用,因为它能够有效地组织信息,使访客...

    java扫雷小游戏软件设计报告.docx

    - 功能5:菜单栏允许用户选择退出游戏。 4. **类与方法**:报告中提到的类结构图和主要方法是程序设计的关键部分。这些类可能包括游戏主类、雷区类、计时器类、用户交互类等。方法可能涉及事件处理(如点击按钮)...

    idea使用教程2017-06-01.zip_idea

    5. **代码分析**: IDEA会定期进行代码检查,提供改进建议,有助于提升代码质量。 总结,IntelliJ IDEA是一个功能强大的开发工具,通过熟悉和掌握其基本操作和快捷键,可以极大地提高开发效率。不断地实践和探索,...

    html5 svg 工作流

    用户通过网页界面,能够将左侧菜单中的元素拖放到右侧,创建一个工作活动。这种拖放功能是HTML5的一个强大特性,它通过`draggable`属性和`drop`事件实现,使得用户可以与网页上的元素进行直观的交互。 当用户在创建...

Global site tag (gtag.js) - Google Analytics