如何获得点击事件的前一个div?

时间:2013-02-22 19:55:20

标签: javascript jquery html

我正在使用两个锚标签:“previous-slide-collections”和“next-slide-collections”。下一个锚点工作,而之前没有。

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>

1 个答案:

答案 0 :(得分: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上点击prevous,然后在最后一个div上点击next。