大家登陸一些網站或論壇時,經常會被要求先浏覽和確認“用戶協議”。“用戶協議”底部通常會設置一個“我已閱讀並同意”復選框,勾選了該復選框,“登陸”按鈕才可用。
如下圖所示,勾選“I have read and accept.”復選框,Login按鈕才會相應click事件,登陸成功後切換到歡迎畫面。
通常情況我們是怎麼實現的呢,很多同學會想到用javascript設置按鈕的disabled屬性。這當然是一種不錯的方法,不過我們用JQuery的話,代碼會更簡潔,同時我們的逼格也上去了,哈哈。
對於按鈕來說,JQuery提供了bind()方法和unbind()方法,使我們可以隨時隨地,根據需要給按鈕添加或刪除Click事件。
詳細代碼如下:
<html> <style type="text/css"> .hide { display: none; } .show { display: block; } </style> <script language=Javascript src="js/jquery.min.js" type=text/javascript></script> <script> $(document).ready(function() { $('#logoutBtn').addClass('hide'); $('#logoutBtn').bind('click', function() { $('#title').html('Agreements<br>1. ...<br>2. ...<br>3. ...'); $('#loginBtn').removeClass('hide').addClass('show'); $('#confirm').removeClass('hide').addClass('show'); $('#logoutBtn').removeClass('show').addClass('hide'); }); }); function doCheck() { if ($("input[type='checkbox']").is(':checked')) { $('#loginBtn').bind('click', function() { $('#title').text('Welcome to our site!'); $('#loginBtn').removeClass('show').addClass('hide'); $('#confirm').removeClass('show').addClass('hide'); $('#logoutBtn').removeClass('hide').addClass('show'); }); } else { $('#loginBtn').unbind('click'); } } </script> <body> <p id="title"> Agreements<br>1. ...<br>2. ...<br>3. ... </p> <div id="confirm"> <input id="cbx" type="checkbox" onclick="doCheck()" />I have read and accept. </div> <input id="loginBtn" type="button" value="Login" /> <input id="logoutBtn" type="button" value="Logout" /> </body> </html>
代碼中還用到JQuery的幾個方法,簡單說明一下:
html()方法:設置被選擇元素的html內容,相當於document.getElementById(“#xxx”).innerHTML=”xxx”。
text()方法:設置被選擇元素的文本內容,相當於document.getElementById(“#xxx”).innerText=”xxx”。
removeClass():被選擇元素移除一個CSS樣式。
addClass():被選擇元素添加一個CSS樣式。
$(“input[type='checkbox']”).is(‘:checked'):判斷復選框是否選中。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。