我正在建造一个导航手风琴.手风琴的每个部分都有一组链接.触发代码如下所示:
$(document).ready(function() {
$(".selector").accordion({
collapsible: true,
active: false,
navigation: true
});
});
Run Code Online (Sandbox Code Playgroud)
这一切都运行良好和花花公子,直到每组中的一个链接被编辑为指向单个文件,称之为foo.html.所以现在如果您导航到foo.html,location.href会匹配手风琴的每个部分(因为每个部分都有一个链接)并打开所有部分,从而破坏了手风琴的目的.
所以我很确定我需要使用该navigationFilter选项,但我已经搜索了它的生活地狱,并没有找到任何关于如何构建与之相关的功能的示例.
帮助我,Stack Overflow!
这是一个老问题,但今天我在同样的问题上挣扎,所以我想我会为其他正在寻找的人回答这个问题.
我想根据路线中的最后一项(使用ASP.NET-MVC2)使用手风琴导航过滤器进行匹配.我提出了以下解决方案.它不漂亮,但它的工作原理.
我的链接如下:http: //site.com/Home/Details/IDSTRING
过滤器匹配任何以IDSTRING结尾的location.href.
您可能希望将位置解析代码移动到另一个位置,因此每个页面加载只运行一次,而不是每个手风琴元素运行一次.
$("#accordion").accordion({ animated: false, autoHeight: false, collapsible: true, navigation: true, navigationFilter: function () {
//Accordion NavigationFilter
var locationHrefArray = location.href.split("/");
var locationLastString = locationHrefArray[locationHrefArray.length - 1].toLowerCase();
var sidebarHrefArray = this.href.split("/");
var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
return locationLastString == sideBarLastString;
} });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7343 次 |
| 最近记录: |