2014-01-23 24 views
0

我無法讓fadeToggle工作。我用它在點擊另一個div時顯示文本。這是爲了用於多個元素,所以我希望可以有一個優雅和高效的方式來處理它們。jquery使用fadeToggle爲多個按鈕和隱藏文本

這是我目前有 - 不工作(我使用的是「這個」正確我不認爲:

$(document).ready(function() { 
    $('#daily').click(function() { 
    $('this p').fadeToggle(100); 
    }): 
    $('#color').click(function() { 
    $('this p').fadeToggle(100); 
    }): 
    $('#bw').click(function() { 
    $('this p').fadeToggle(100); 
    }): 
}): 

這裏的的jsfiddle:http://jsfiddle.net/qEKJe/

我想要結合一個.load()調用中使用這個,不知道這是否會改變的東西

另外 - 獎勵積分,如果你能做到這樣露出了新的文本塊關閉所有當前顯示

回答

2

你可以改變你的選擇器而不是id爲每個人使用類名。另外,聲明$('this p')是無效的,你需要這樣的:

$('.selectopt').click(function() { 
    $(this).next('p').fadeToggle(); 
}) 

入住這Demo Fiddle

+0

很酷的作品。我不知道.next() - 這非常有效。任何想法如何更新這個腳本,以便切換一個新的'p'將關閉任何當前打開的? – user3180105

+0

@ user3180105是不使用fadetoggle然後只是第一次淡出所有,然後淡化相對於這樣的元素http://jsfiddle.net/qEKJe/5/ – DaniP

+0

真棒,這正是我需要的。您先生領取支票 – user3180105

0

http://jsfiddle.net/qEKJe/4/

添加類的普的。

<div class="select"> 
    <div> 
     <div id="daily" class="selectopt">Daily</div> 
     <p class="daily-p">Daily photos description</p> 
    </div> 
    <div> 
     <div id="color" class="selectopt">Color</div> 
     <p class="color-p">Color photos description</p> 
    </div> 
    <div> 
     <div id="bw" class="selectopt">Black & White</div> 
     <p class="bw-p">Black & White photos description</p> 
    </div> 
</div> 

這將適用於所有人現在。

$(document).ready(function() { 
    $('.selectopt').click(function() { 
     var x = $(this).attr('id'); 
     $('.' + x + '-p').fadeToggle(100); 
    }); 
});