HTML優化jQuery的擾流板按鈕
<!doctype html>
<html>
<head>
</head>
<body>
<button id="b1" type="button">Show Spoiler</button>
<p id="p1" style="display:none"> This is a damn paragraph.</p>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="js/script.js"></script>
</body>
</html>
JS
function bindEvent(element, eventName, eventHandler) {
var el = $(element)[0];
if (el.addEventListener) {
el.addEventListener(eventName, eventHandler, false)
} else if (el.attachEvent) {
el.attachEvent('on'+eventName, eventHandler);
}
}
bindEvent('#b1', 'click', function() {
$('#p1').toggle('blind');
if ($('#b1').text() == 'Show Spoiler') {
$('#b1').text('Hide Spoiler');
} else if ($('#b1').text() == 'Hide Spoiler') {
$('#b1').text('Show Spoiler');
}
});
我是新來的jQuery和Javascript所以我做了這個簡單的腳本來顯示和隱藏段落和更改按鈕文本時點擊。我的問題是這看起來有點笨重。有更好,更短,更簡單的方法來達到同樣的效果嗎?
感謝您的回答,完美的作品。然而,我有一個問題,爲什麼你可以省略分號,比如'$ thisSpoiler.toggle('blind')'和'$ this.text(newText)' – Etcher
我寫的分號很低的JavaScript。這是個人選擇,可以幫助我堅持簡單的代碼並注意邏輯錯誤。 JavaScript是一種奇怪的語言,因爲它的官方規範要求使用分號,但是同樣的規範包含了一個「自動分號插入」例程,這使得它們在除了不明確的情況之外都是不必要的。你可能會和其他人認爲我的代碼很愚蠢。 [這是一篇文章](http://inimino.org/~inimino/blog/javascript_semicolons)解釋這個稍有爭議的話題。 :) – zetlen