2014-10-19 59 views
0

我有以下代碼jQuery腳本 - 使股利按鈕可見點擊

http://jsfiddle.net/BQUyT/

- 在我的身邊,我有我的頭以下:

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 
<script> 
    $(document).ready(function() { 
     $("button").click(function() { 
      $("p").toggle(); 
     }); 
    }); 
</script> 

這作爲我的HTML:

<a id="button" href="#">Show/Hide</a> 
<div id="item">Item</div> 

我如何使另一個botton,和另一個DIV,不對上一個按鈕單擊作出反應

我想讓1項目1 disapear/visible我想要2項目2 Diapear /可見,怎麼是那可能。如果你想多個元素採取同樣

http://jsfiddle.net/BQUyT/211/

回答

-1

不能使用相同的ID多次。相反,您可以使用CLASS。 HTML:

<a class="button" href="#">1</a> 
<div class="item">Item 1</div> 

<a class="button" href="#">2</a> 
<div class="item">Item 2</div> 

JS: 

$(".button").click(function() { 
    var index=$(".button").index(this); 
    $('.item').eq(index).toggle(); 
}); 

這裏舉例:http://jsfiddle.net/BQUyT/221/

+0

http://jsfiddle.net/BQUyT/220/ – user3442766 2014-10-19 10:25:59

+0

非常硬編碼。 – 2014-10-19 10:26:44

+0

這是說「只是切換下一個項目」 ... – Alnitak 2014-10-19 10:26:53

1
  1. ID必須是唯一的

  2. ,給他們一個class(例如button)。

  3. $('.button').on('click', function() { $(this).next().toggle() });

後者只是說按鈕「與類元素時‘’點擊,撥動在DOM中找到的下一個元素的可見性狀態」

NB:我我們使用.on('click')而不是.click(),因爲在我們的編碼指南中,我認爲.click已棄用,即使jQuery開發者本身沒有。 .click會引起混淆,因爲它可以同時處理寄存器處理程序和觸發器處理程序。相反,我們總是對前者使用明確的.on,對後者使用.trigger

演示在http://jsfiddle.net/alnitak/BQUyT/217/

+0

downvoter - 請解釋!或者這只是一個報復而已,因爲我已經低估了一些編碼效率低下的答案? – Alnitak 2014-10-19 10:35:08

0

你可以使用jQuery的toggleClass添加和刪除一個CSS-類隱藏或顯示#item股利。

CSS

#item.hidden { 
    display: none; 
} 

JS

$("#button").on('click', function() { 
    $("#item").toggleClass('hidden'); 
}); 

更新的jsfiddle here

+0

jQuery的'.toggle'是便攜式動畫比'.toggleClass'更好 - 當與CSS特效相結合,後者只能提供平滑的過渡。 – Alnitak 2014-10-19 10:17:53

+0

http://secure.securehome.nu/proddigi.aspx 這就是我想用它,這樣你就可以展開和檢查有關產品的信息,是否有任何其他方式/更好的方式來做到這一點:) – user3442766 2014-10-19 15:48:35

0

有你的HTML和腳本的一些 '錯誤'。

首先,你的html中的id必須是唯一的。改爲使用class。

點擊後,切換下一個元素

$(".button").click(function() { 
    $(this).next().toggle(); 
}); 

檢查JSFiddle