- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想做一个像mcmaster.com网站那样的侧边栏菜单。它允许您动态缩小产品范围并切换选项。正如您在图像中看到的,当选择“公制”选项时,所有页面都会根据基于公制的产品、侧边栏以及整个页面进行更改。有趣的是,URL 没有太大变化。我的意思是单击“度量”选项不会重新加载页面。 before clicking the "metric" option
after clicking the "metric" option
那么,我可以只用 html、css 和 Javascript 得到这样的东西吗?
最佳答案
这个问题太宽泛了。您实际上需要提出代码,然后将其张贴在这里,以便社区提供帮助。
据我所知,他们使用 Ajax 来根据过滤器选项更新页面内容。
一种简单的过滤形式是,如果页面中已经显示了一些元素,然后根据过滤器,显示一些元素,隐藏一些元素。
下面是一个简单的例子。蓝色是公制,绿色是英寸。此外,如果您单击清除,您将清除过滤。这是您可以创建的最简单的过滤器。
$(".filter span").click(function(){
$(".filter span").removeClass("selected");
$(this).toggleClass("selected");
var theClass = $(this).attr("class");
theClass = theClass.replace(" selected","");
if ( theClass === "metric" ) {
$(".items .inch").hide();
$(".items .metric").show();
} else if ( theClass === "inch" ){
$(".items .inch").show();
$(".items .metric").hide();
} else {
$(".item").show();
$(".filter span").removeClass("selected");
}
});
.filter {
width: 100%;
display: block;
float: left:
}
.items {
width: 100%;
display: block;
float: left;
}
.item {
display: block;
float: left;
width: 10%;
margin-right: 10px;
margin-bottom: 10px;
border: solid 1px #ccc;
padding: 10px;
text-align: center;
}
.items .inch {
background: #0f0;
}
.items .metric {
background: #00f;
}
.filter span:hover {
cursor: pointer;
font-weight: 900;
padding: 2px;
border: solid 1px #000;
}
.selected {
font-weight: 900;
padding: 2px;
border: solid 1px #000;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="filter">
Choose: <span class="metric">metric</span> <span class="inch">inch</span><span class="clear"> clear</span>
</div>
<ul class="items">
<div class="item metric">1. metric</div>
<div class="item inch">2. inch</div>
<div class="item metric">3. metric</div>
<div class="item metric">4. metric</div>
<div class="item inch">5. inch</div>
<div class="item metric">6. metric</div>
<div class="item metric">7. metric</div>
<div class="item inch">8. inch</div>
<div class="item metric">9. metric</div>
</ul>
关于javascript - 如何创建 "narrow by"过滤菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42230855/
我想在一个函数中包含一个限制语句,该函数测试在使用 org-narrow-to-subtree 之后缓冲区是否已经缩小到子树。谁能与我分享如何测试收窄条件是否有效?类似于 narrowp。 编辑:我在
static int var[2] __attribute__ ((aligned (8))) = { 0x0255cfa8, 0xfdfcddfc }; 为什么我收到警告:narro
我想做一个像mcmaster.com网站那样的侧边栏菜单。它允许您动态缩小产品范围并切换选项。正如您在图像中看到的,当选择“公制”选项时,所有页面都会根据基于公制的产品、侧边栏以及整个页面进行更改。有
我们阅读了 git narrow clones .假设我们想在极端情况下使用这个新功能最小带宽从大量远程存储库编辑一个文件并推回我们的提交。 唯一的例子是 git clone --no-checkou
我是C++的初学者,对转换有疑问。将int转换为char值时,如果在ASCII表上超过127,会发生什么? 例如, using namespace std; int main() { double d
(Postgres 8.3) 我正在使用 X 100 多列宽的数据库表(遗憾的是我无法更改),其中许多列会通过正常的业务流程不断且非常频繁地更新。 我需要根据异常业务流程更新的 X 中特定列 foo
我想对此进行过滤,以便最终返回的列表中仅包含平均数量大于 350 的部件(因此部件 P3、P4 和 P6)。我尝试使用 *SELECT """"WHERE AVG(spjandq.qty)>350 I
我正在尝试从 sourceforge 编译 hosts3d,它确实编译但生成了几个缩小错误。我不知道如何解决这个问题,但我们将不胜感激任何帮助。我怀疑我可以下载以前版本的编译器,我可能最终会这样做,但
C++ Core Guidelines有一个 narrow如果类型转换更改值,则抛出。看着 microsoft implementation图书馆: // narrow() : a checked v
问题: 我的导航栏看起来一点都不像 http://jquerymobile.com/test/docs/toolbars/footer-persist-a.html 中示例中的导航栏 我做错了什么/有
假设我有一个类型族,我在基本类型中定义了一组方法: interface Foo { Foo a(); Foo b(); ... } 并且Bar扩展了Foo interface Bar
我在我的应用程序中使用此字体时遇到问题。我已经在我的资源中导入了 Arial-Narrow.ttf 文件,并且还在 info.plist 中添加了名称,如下所示 UIAppFonts Ari
假设我有一段 HTML 的结构如下: Loooooooooooooong Short Meeeedium ...我想利用 CSS 获得
我一直在为一个学校元素编码,我遇到了这个问题,我想要一个标题而不是宽泛的标题。我是 Stack Overflow 的新手,我希望我不是在问一个非常愚蠢的问题,但我在事先搜索时没有找到答案。 我的代码是
我正在查看 Bootstrap 站点示例 http://getbootstrap.com/examples/jumbotron-narrow/#当我将鼠标悬停在“关于”或“联系”链接上时,文本周围会出
我正在尝试编写一个简单的无状态 session bean,但我在查找时间中给出的窄引用有问题。我得到了 class cast exeption 我用 eclipse IDE 我的 bean 类 pac
我尝试在启用 gcc 和 C++11 的情况下编译以下代码: unsigned int id = 100; unsigned char array[] = { id % 3, id % 5 }; 我收
#main{ margin-left: auto; margin-right: auto; margin-top: 0; font-family: "Arial Narrow"; position
g++ 4.9.0-O2 -std=c++11 template struct vec3 { T x, y, z; vec3() = default; vec3(const v
我正在使用 prettyprinter 图书馆到prettyprint foo(bar, baz) ,当边距太窄时,我希望它看起来像: foo( bar, baz) 我怎么做? 到目前为止我最
我是一名优秀的程序员,十分优秀!