2012-12-14 170 views
1

我有: 3個按鈕 當一個被點擊它被隱藏,並且被示出在每個盒子 其相應的盒點擊時盒子是一個鏈接以關閉盒 隱藏隱藏/顯示格切換週期

我需要什麼: 被點擊的緊密聯繫和框關閉時,我需要的按鈕,再次顯示

摘要: 按鈕,點擊切換按鈕隱藏/盒顯示,點擊關閉切換箱隱藏/按鈕顯示

current code

+1

PS,我覺得有人downvoted你,因爲你真的沒有給我們任何代碼,只是給我們一個鏈接給你的代碼,讓我們篩選它雖然很糟糕,但匿名downvoting也很糟糕。 – Godwin

+0

下一次把你的代碼放在[JSFiddle](http://jsfiddle.net/) – bobthyasian

+0

我的道歉...從來沒有發佈在這裏之前,並沒有意識到發佈一個鏈接到代碼(除了它的一切都除外手頭的問題)是不夠的。我將從現在開始知道,謝謝那些花時間去幫助的人! – pixeloco

回答

1

你只需要添加$('.showSingle').removeClass('selected');$('.hide').click()功能,並添加回在它的結束false,這樣鏈接href犯規被調用(把#url中)我也改寫了第一次點擊事件使其與第二個一致。

$(function(){ 
    $('.showSingle').click(function() { 
     $(this).addClass('selected').siblings().removeClass('selected'); 
     $('.targetDiv').hide(); 
     $('#div' + $(this).data('target')).show(); 
    }); 

    $('.hide').click(function() { 
     $('.targetDiv').hide(); 
     $('.showSingle').removeClass('selected'); 
     return false; 
    }); 
}); 
+0

'return false'很好的捕獲。 – bobthyasian

0

當你點擊每個按鈕時,你有一個調用,將'selected'類添加到按鈕上,並從其他按鈕中刪除。這個類正在隱藏按鈕。那麼你需要做的是當關閉鏈接被按下時,從所有按鈕中刪除類。

$('.hide').click(function() { 
    $('.targetDiv').hide(); 
    $('.showSingle').removeClass('selected'); 
}); 
+0

哦哇,恩。謝謝! – pixeloco

0

試試這個。

 

$(window).load(function(){ 
$('.showSingle').on('click', function() { 
    $(this).addClass('selected').siblings().removeClass('selected'); 
    $('.targetDiv').hide(); 
    var srcId = $(this).data('target'); 
    $('#div' + srcId).show(); 
    $('.targetDiv').click(function(){ 
     $('.targetDiv').hide(); 
     $(".showSingle[data-target='" +srcId +"']").show(); 
    }); 

}); 
 
0

下面是一個可與當前HTML一起使用的代碼。它有兩個選項,隱藏按鈕文本或隱藏按鈕本身。另外,作爲一個側面說明,如果你使用使用它on()保持 - 不要開關.click()

JSFiddle Demo

$(function() { 
    $('.targetDiv').hide(); //Start off with boxes hidden 

    $('.showSingle').on('click', function() { //Link clicked 
     $('.targetDiv').hide(); //Hide any open boxes 
     $('.selected').removeClass('selected'); //Show all buttons 
     //$(this).children('div').addClass('selected'); //Hide button text 
     $(this).addClass('selected'); //Hide button box 
     var id = $(this).data('target'); //Get desired target 
     $('#div'+id).show(); //Show target box 
     return false; //Stop link from going anywhere 
    }); 

    $('.hide').on('click', function() { 
     $('.targetDiv').hide(); //Hide any open boxes 
     $('.selected').removeClass('selected'); //Show all buttons 
     return false; //Stop link from going anywhere 
    }); 
});​