2012-08-09 78 views
-3

我需要隐藏所有列表元素,但只有在特定的时间显示一个依赖于通过导航栏按下方向或按键。动态菜单链接更换jQuery的

我已经试过这样:

$('ul li').hide().first().show();

这说明我在列表中的第一个元素。

但现在我需要在列表导航,我不知道该怎么办的控制。

基本上,我需要有更多或更少的这种布局的菜单:

< - prev   LINK1   next - > 

所以基本上,ID有一个无序列表,因此HTML会是这样

<ul> 
    <li>LINK1</li> 
    <li>LINK2</li> 
    <li>LINK3</li> 
</ul> 

所以,我需要一次只显示一个,一旦按下了下一个或上一个按钮,它将在列表结束或开始时“循环”列表。

+0

我已经零线索,我一直在使用$尝试(这一点)。接下来()。追加(#container的) 类似的东西,但它没有工作:( – Shannon 2012-08-09 01:23:38

+0

如果你所做的一切就是尽量'追加()'你一定不会花很多时间巡航jQuery的文档。看看'动画()',与CSS发挥。我们保持更新。 – 2012-08-09 03:04:18

+0

http://jsfiddle.net/sechou/UmRph/7/ – 2012-08-09 03:40:45

回答

0

或许这些代码可以帮助您 http://jsfiddle.net/sechou/UmRph/7/

$("li").hide(); // hide every element first 
$("li:first").show(); // only display the first one 
var idx = 0; 
$("nextbtn").click(function(){ 
    if(idx == $("li").size() -1) 
      idx =0; 
    else 
      idx++; 

    $("li").hide(); 
    $("li:eq("+ idx + ")").show(); 
}); 
$("prevbtn").click(function(){ 
    if(idx == 0) 
      idx = $("li").size() -1; 
    else 
      idx--; 

    $("li").hide(); 
    $("li:eq("+ idx + ")").show(); 
}); 
+0

我不能得到这个工作:(有无论如何,你可以做一个小提琴的例子? @周世恩? – Shannon 2012-08-09 01:40:57

+0

这不起作用?我得到的JavaScript错误:( – Shannon 2012-08-09 01:51:39

+0

首先,我不知道整个HTML你的情况。 什么我就给只是算法。 – 2012-08-09 03:32:41

-1

请,如果你要上传的东西,请确保它是正确的。

您的语法和拼写不正确,对于我的经验的人来说,当事情出错时很难解决问题,谢谢您的帮助,我仍然设法让您的代码在大约2小时后工作摆弄......

var elem = '#collList li';  
$(elem).hide(); 
$(elem + ":first").show(); 
var count = 0; 
$('#nextBtn').click(function() { 
    if (count == $(elem).size() - 1) { 
     count = 0; 
    } 
    else { 
     count++; 
    } 
    $(elem).hide(); 
    $(elem + ":eq(" + count + ")").show(); 
}); 
$('#prevBtn').click(function() { 
    if (count == 0) { 
     count = $(elem).size() - 1; 
    } 
    else { 
     count--; 
    } 
    $(elem).hide(); 
    $(elem + ":eq(" + count + ")").show(); 
}); 
+0

我们不是在这里为你做的工作,如果有人给你一个起点,你应该感激,如果你需要一点工作来让它工作,你会更好。 – 2012-08-09 03:06:47

+0

我不喜欢我知道为什么我要在这里学习,如果一个人得到了错误的文档,学习如何才能学会。 – Shannon 2012-08-09 06:18:27

+0

学习某些东西的最好方法之一就是解决这个问题。学习需要很多时间我们愿意帮忙,但我们不会为你做所有的工作,我只是告诉你这个地方是如何工作的。 – 2012-08-09 12:17:03