Javascript 数组项作为列表和嵌套列表
我为每个背景页面都有一组图像,我使用一个数组根据我单击的菜单项加载每个图像。菜单项也有子菜单,整个菜单系统应与数组项“同步”: html菜单:Javascript 数组项作为列表和嵌套列表,javascript,jquery,jquery-plugins,supersized,Javascript,Jquery,Jquery Plugins,Supersized,我为每个背景页面都有一组图像,我使用一个数组根据我单击的菜单项加载每个图像。菜单项也有子菜单,整个菜单系统应与数组项“同步”: html菜单: Home (page 1) (menu item hidden but should be "Menu 1" if it would be displayed) <ul id="menu"> <li><a href="page2">Menu 2</a></li> <li
Home (page 1) (menu item hidden but should be "Menu 1" if it would be displayed)
<ul id="menu">
<li><a href="page2">Menu 2</a></li>
<li><a href="page3">Menu 3</a>
<ul id="sub-menu">
<li><a href="page4">Menu 4</a></li>
</ul>
</li>
<li><a href="page5">Menu 5</a></li>
</ul>
当站点加载时,它将读取[0]1.jpg,这是主页。但是我们可以点击的第一项是“菜单2”,因为“主页”按钮没有显示在菜单中,它应该转到[1]2.jpg
这是我使用的jQuery:
jQuery (function($) {
$("#menu .menu li").each(function (index) {
var item = $(this);
$("a", item).click(function (e) {
e.preventDefault();
api.goTo(index+1);
});
});
});
使用“api.goTo(index+1);”(在这里使用超大插件)我是说(或者我认为我是)在第一次点击菜单项时,转到index+1,它应该是[1],但它不是,它看起来仍然是[0],用于主页。此外,我认为嵌套项仍将遵循索引顺序
基本上,我无法获得正确页面的正确图像。就像我没有根据我单击的菜单项导航数组一样
本例中的p.s.索引是jquery循环中项的基于0的索引我不知道您在做什么,但是您正在使用一个变量绑定循环中的click函数,该变量将发生变化,结果将不是您所期望的 也许这会有帮助
$('a', 'li').on('click', function(e) {
e.preventDefault();
var index = this.href.replace('page', '');
api.goTo(index);
});
由于子菜单的原因,在点击时从href获取正确的数字似乎是最容易的
引用数组中的值时,必须执行以下操作:
var index = ['1.jpg', '2.jpg', '3.jpg'] //an array, starts with zero
var firstimage = index[0]; //this variable is now the string "1.jpg"
我猜您只是在向
api.goTo(number)
函数传递一个数字,该函数会在数组中找到图像链接,至少在我看来是这样的?准确地说。那么什么是“var index=this.href.replace('page','');”。。这里的“页面”是什么?它是点击链接的href属性,因此如果点击
,href将是“page1”,然后“页面”将被替换为零,留下数字“1”。好的,那么要自动获取href,我该怎么做?它不是手动插入的,我必须这样说:“在我的例子中,索引是jquery循环中项的基于0的索引”
var index = ['1.jpg', '2.jpg', '3.jpg'] //an array, starts with zero
var firstimage = index[0]; //this variable is now the string "1.jpg"