[英]jQuery slideToggle for multiple divs
我想做的是有四個鏈接,每個鏈接都將在單擊時顯示和隱藏某個div。 我正在使用slideToggle,並且能夠使它與真正草率且重復的代碼一起使用。 我的一個朋友給了我他使用的腳本,我嘗試了一下,終於能夠使事情發生。 但是,它所做的只是隱藏div並不會重新顯示。 它還隱藏所有div,而不僅僅是特定的div。 這是我制作的jsfiddle。 希望你們能理解我正在做的事情和提供的幫助! 非常感謝。
這是我正在使用的腳本。
$(document).ready(function () {
$(".click_me").on('click', function () {
var $faq = $(this).next(".hide_div");
$faq.slideToggle();
$(".hide_div").not($faq).slideUp();
});
});
這是小提琴的鏈接。 http://jsfiddle.net/uo15brz1/7/
我對您的標記做了一些更改,為您的div添加了id屬性。 jQuery從單擊的鏈接獲取name屬性,在前面添加#,隱藏可見的div,然后切換相應的div。 我還添加了e.preventDefault,以防止由於哈希更改而導致瀏覽器無法導航。 順便說一句,javascript不需要$前綴。
$(document).ready(function () {
$(".click_me").on('click', function (e) {
e.preventDefault();
var name = $(this).attr('name');
var target = $("#" + name);
if(target.is(':visible')){
return false; //ignore the click if div is visible
}
target.insertBefore('.hide_div:eq(0)'); //put this item above other .hide_div elments, makes the animation prettier imo
$('.hide_div').slideUp(); //hide all divs on link click
target.slideDown(); // show the clicked one
});
});
歡迎使用Stack Overflow!
這是一個小提琴:
http://jsfiddle.net/uo15brz1/2/
基本上,您需要一種基於單擊的鏈接指向相關內容<div>
方法。 用您當前的標記以健壯的方式執行此操作比較棘手,因此我已對其進行了編輯。 jQuery文檔中的示例非常好。 花一些時間研究它們,它們是入門的好方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.