2013-02-22 50 views
0

我正在使用两个定位标记:“上一张幻灯片集合”和“下一张幻灯片集合”。下一个锚点工作,而以前没有。如何获得以前的div点击事件?

的JavaScript:

$("#next-slide-collections").click((function(){ 
     //alert('hi'); 
    var counter = 0; 
    return function() 
    { 
     $("#div" + counter).hide("fast"); 
     counter = (counter % 3) + 1; 
     $("#div" + counter).show("fast"); 
    } 
})()); 

$("#previous-slide-collections").click((function(){ 
    //alert('hi'); 
    var counter = 0; 
    return function() 
    { 
     $("#div" + counter).hide("fast"); 
     counter = (counter - 1); 
     $("#div" + counter).show("fast"); 
    } 
})()); 

HTML:

<div id="div1"></div> 
<div id="div2"></div> 
<div id="div3"></div> 
<a id="previous-slide-collections"></a> 
<a id="next-slide-collections"></a> 
+3

代码涉及'previous-slide-collections'的位置? – 2013-02-22 19:58:35

+0

只需查看现有的逻辑,您之前的幻灯片集合按钮就不会与您的下一张幻灯片集合按钮同步,因为它们每个都会获得自己的计数器变量。考虑到这一点,如果您的上一个按钮也以0开始计数器,则永远不会有前一个按钮。 – 2013-02-22 20:02:28

+0

您的代码只能设置为下一个。有ntohing设置为以前连线。 '$(“#next-slide-collections,#previous-slide-collections”)'会针对next和previous。我不确定你的问题是什么。 – 2013-02-22 20:04:00

回答

0

你的下一个和上一个按钮分别使用各自的计数器变量。然而,你的下一个按钮应该可以工作,因为你上一个按钮的计数器从0开始,点击它将会到-1,它将选择0个元素。要确认,请将您之前的计数器从3开始,然后您会看到它执行某些操作。

让他们共享相同的变量,它应该工作(主要)。

var counter = 0; 
$("#next-slide-collections").click(function() 
    { 
     $("#div" + counter).hide("fast"); 
     counter = (counter % 3) + 1; 
     $("#div" + counter).show("fast"); 
    } 
); 

$("#previous-slide-collections").click(function() 
    { 
     $("#div" + counter).hide("fast"); 
     counter = (counter - 1); 
     $("#div" + counter).show("fast"); 
    } 
); 

在第一个div上点击prepend时,还是在最后一个div时,你仍然需要考虑点击prevous。

+0

它正在工作..谢谢 – 2013-02-22 20:15:18

+0

这可能吗? next和previous可以在循环中工作? – 2013-02-22 20:16:34

+1

这是否可能是一种询问与编程有关的任何事情的可怕方式。几乎所有事情都可能以这种或那种方式进行。 – 2013-02-22 20:22:55

相关问题