【问题标题】:Sidebar With Expanding Menus. [Diagram Provided]带有扩展菜单的侧边栏。 [提供图表]
【发布时间】:2017-09-04 00:19:11
【问题描述】:

我花了大约一个小时试图找到一个可行的解决方案,但是,它们都没有接近我想要的目标。我不希望有人花时间为我创建它(它需要做很多工作),但我想知道如何实现它。链接或 js 小提琴会很棒。

所以我正在处理这个侧边栏。它应该具有三种状态。

第一个和第二个状态显示在桌子上。 默认状态是加载侧边栏时。

第二种状态是当用户点击在第一个图像中看到的一个图标图像时发生的情况。它现在展开以显示额外的导航。 (例如,图标说朋友,出现的新菜单有一个大约 10 人的列表)。

第三种状态仅出现在移动设备上。它基本上消除了在默认状态下看到的图标侧边栏(第一张图片)

感谢任何有关如何解决此问题的建议。我尝试了很多不同的东西,但没有一个能接近我想要的。

【问题讨论】:

  • @karlisup 和 Programmer,当有人在 编码帮助 QA 网站上发布问题时,预计会提供一个代码示例来工作从。最初的第一张图片的标记很容易完成(如果图标会水平流动,也可以询问)并且应该在问题中作为代码。
  • 不要“删除”您的问题。这不是本网站的运作方式。

标签: javascript css


【解决方案1】:

这是你要找的吗?

var titles = $('.title');
titles.each(function() {
	$(this).on('click', function() {
		$(this).next().toggleClass('active')
	})
});

$('.toggle').on('click', function() {
	$('.sidebar').toggleClass('hide');
});
.toggle {
	position: fixed;
	z-index: 1000;
}
.sidebar {
	position: fixed;
	left: 0;
	top: 0;
	bottom: 0;
	width: 200px;
	padding-top: 20px;
	border-right: 1px solid black;
}
.group {
	margin-top: 16px;
}
.title {
	cursor: pointer;
	border-bottom: 1px dashed black;
}
.list {
	max-height: 0;
	overflow: hidden;
}
.list li {
	margin-top: 4px;
}

.active {
	max-height: 400px;
}
.hide {
	display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="toggle">Button</button>
<div class="sidebar">
	<section class="group">
		<h3 class="title">Click me first.</h3>
		<ul class="list">
			<li><a href="#">Link 1</a></li>
			<li><a href="#">Link 2</a></li>
			<li><a href="#">Link 3</a></li>
		</ul>
	</section>
	<section class="group">
		<h3 class="title">Maybe click me.</h3>
		<ul class="list">
			<li><a href="#">Link 1</a></li>
			<li><a href="#">Link 2</a></li>
			<li><a href="#">Link 3</a></li>
		</ul>
	</section>
	<section class="group">
		<h3 class="title">Nope - click me!</h3>
		<ul class="list">
			<li><a href="#">Link 1</a></li>
			<li><a href="#">Link 2</a></li>
			<li><a href="#">Link 3</a></li>
		</ul>
	</section>
</div>

【讨论】:

  • 我创建了一个带有项目的侧边栏。下一步是什么?告诉我更多关于这些州的信息。
  • 您所拥有的正是第二个状态 + 移动设备应有的样子。第一个状态 (i.stack.imgur.com/odZ3l.png) 有一个侧边栏图标,将打开(单击时)您创建的菜单。 (i.stack.imgur.com/jVIlE.jpg)
  • 对一个不完整问题的猜测解决方案可能缺少最重要的部分,即代码示例,这是发布答案的一种非常糟糕的方式。 (最重要的是,当你得到 cmets 时必须跑到公共汽车上并不能让它变得更好,恰恰相反)
  • @LGSon 我正在尽力而为。虽然你有什么目的的建议?这个新人被留下了负分,没有办法改进他的问题。我的答案是否真的缺少代码示例,因为它看起来像 - 它就是它的全部。删除了我的不当评论。
  • @karlisup 首先,如果我不清楚,很抱歉,但我的意思是这个问题没有代码示例,它应该。 SO不是代码编写服务,而且,提问者应该表现出自己的努力,即使是很小的,所以仅仅发布图像是不够的。 (您当然可以自己,在 OP 的接受下,为问题添加一个标记示例,这将非常好)。其次,您的答案缺少的是说明您做了什么以及为什么/如何工作的解释,这是我之前无法提及的,因为没有原始代码可以作为其基础
猜你喜欢
  • 2018-12-07
  • 1970-01-01
  • 2017-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-23
相关资源
最近更新 更多