我剛剛在Drupal環境中使用JQuery。Jquery toggle(),hide()不按預期工作
我有一些縮略圖,我希望它可以讓你單擊一個時,更大的圖片出現在「視口」(一個隱藏的div出現)。可能有更好的方法來完成我正在做的事情,但我需要這樣做。
這是我有:
$(document).ready(function() {
//$('#bigpic1').hide(); //show the first big picture always on page load
$('#bigpic2').hide();
$('#bigpic3').hide();
$('a#thumb1').click(function() {
$('#bigpic2').hide(); $('#bigpic3').hide();
$('#bigpic3').toggle(200);
return false;
});
$('a#thumb2').click(function() {
$('#bigpic1').hide(); $('#bigpic3').hide();
$('#bigpic2').toggle(200);
return false;
});
$('a#thumb3').click(function() {
$('#bigpic1').hide(); $('#bigpic2').hide();
$('#bigpic3').toggle(200);
return false;
});
});
除了是一些醜陋的代碼,它不工作的權利。第一張大圖不會在頁面顯示時出現,並且點擊更多縮略圖會顯示正確的div - 但不會隱藏任何圖像(在「視口」中一次只能看到一張大圖)。
我的HTML看起來像這樣
<table><tr>
<td><a href="#" mce_href="#" id="thumb1">...thumb1...</td>
<td><a href="#" mce_href="#" id="thumb2">...thumb2...</td>
<td><a href="#" mce_href="#" id="thumb3">...thumb3...</td>
</tr>
<tr><td colspan="3">
<!-- my "viewport" cell -->
<!-- the big picture displays here -->
<div id="bigpic1">... </div>
<div id="bigpic2">...</div>
<div id="bigpic3">...</div>
</td></tr></table>
你爲什麼隱藏一些和切換其他人?爲什麼不簡單地使用hide()和show(),因爲您有效地手動切換圖像。 – Soviut 2010-12-13 23:53:22
你正在關閉那些''標記吧?在你的第一個處理程序中,你應該切換'#bigpic1' ...在這裏玩的東西:http://jsfiddle.net/sje397/R5Fsh/ – sje397 2010-12-13 23:59:12
謝謝你給我看JSFiddle! – 2010-12-14 16:37:38