我正在嘗試構建一個簡單的常見問題解答頁面,其中包含當他們的問題被點擊時的slideDown和Up。當用戶點擊類「問題」時,我希望mytarget變成'#'+ [該問題的ID] +'ans',這樣適當的答案就會下滑。
toggleSlide部分工作時,我只是給它一個答案的ID;我不確定我的.click函數是錯誤的,還是我使用$(this),或者兩者兼而有之。
$(document).ready(function() {
var qid = '';
var mytarget = '';
function toggleSlide() {
if ($(mytarget).css('display') == 'none') {
$(mytarget).slideDown(600, 'swing');
}
else if ($(mytarget).css('display') == 'block') {
$(mytarget).slideUp(600, 'swing');
}
};
$('.answer').hide();
$('.question').click(function() {
qid = $('this').id();
mytarget = '#' + qid + 'ans';
toggleSlide();
});
});
謝謝!爲什麼div.answer比.answer更好? – DsDyer 2012-04-24 19:53:05
我喜歡這一款。但div.answer實際上並不可取。 jsPerf可以顯示沒有元素的普通類將會更快。另外,我仍然喜歡使用$(document).ready(),因爲它對於閱讀代碼的任何人(我自己或其他人)來說都是非常明顯的,它是文檔就緒函數。但那部分是個人喜好。 – 2012-04-24 19:54:25
'$(this).attr('id')'=>'this.id'。 – gdoron 2012-04-24 19:57:41