第85節:Java中的JavaScript
複習一下css:
選擇器的格式:
元素選擇器:元素的名稱{}
類選擇器:. 開頭
ID選擇器:# ID選擇器
後代選擇器: 選擇器1 選擇器2
子元素選擇器:選擇器1 > 選擇器2
選擇器分組: 選擇器1,選擇器2,選擇器3{}
屬性選擇器:選擇器[屬性名稱=`屬性值`]
盒子模型:
內邊距:盒子內的距離
邊框:盒子的邊框
外邊距: 盒子和盒子之間的距離
輪播圖
自動播放:每隔3秒切換,切換圖片,
// 點選彈框
// 確定事件,點選事件
// 通過事件定義函式
// 在函式裡定義操作頁面元素,做一些互動的操作
<script>
function d(){
// alert("點選了");
// 獲取div
var div = document.getElementById("div1");
div.innerHTML = "<font color=`red`> 內容 </font>";
}
</script>
<body>
<input type="button value="點我" onclick="d()"/>
<div id = "div1">
這裡是達叔小生
</div>
</body>
// 點選切換圖片
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
function changeImg(){
// alert("要切換了")
var img = document.getElementById("img1");
img.src = "../img/1.gif";
}
</script>
</head>
<body>
<input type="button" value="點選切換圖片" onclick="changeImg()" />
<br />
<img src="../img/333.jpg" id="img1" />
</body>
</html>
setTimeout()
: 在指定的毫秒數後呼叫函式
setInterval()
: 按照指定的週期來呼叫函式
scrollTo()
: 把內容滾動到指定的座標
scrollBy()
: 按照指定的畫素值來滾動內容
resizeTo()
: 把視窗的大小調整到指定的寬度和高度
resizesBy()
: 按照指定的畫素調整視窗的大小
prompt()
: 顯示可提示使用者輸入的對話方塊
open()
: 開啟一個新的瀏覽器視窗
moveTo()
: 把視窗的左上角移動到一個指定的座標
moveBy()
: 可相對視窗的當前座標把它移動指定的畫素
focus()
: 把鍵盤焦點給予一個視窗
setInterval()
方法按照指定的週期來呼叫函式,方法會不停地呼叫函式,直到clearInterval()
被呼叫或者視窗被關閉,
<html>
<body>
<input type="text" id="clock" size="20"/>
<script language=javascript>
var int = self.setInterval("clock()", 50)
function clock(){
var t = new Date()
document.getElementById("clock").value
}
</script>
<button onclick="int=window.clearInterval(int)">
stop</button>
</body>
</html>
定時器
// 技術分析
function test(){
console.log("呼叫了");
}
// setInterval("test()", 2000);
這個函式會迴圈,定時2秒後,這個函式會重新被呼叫,一直迴圈。
// setTimeout("test()", 2000);
這個函式被用了,就不再執行了
取消操作,alert()
顯示一段訊息,blur()
把鍵盤焦點從頂層視窗移開,clearInterval()
取消由setInterval()
設定的timeout
,clearTimeout()
取消由setTimeout()
方法設定的timeout
。
setIntervale()
引數:
mode 引數為要呼叫的函式,或是執行程式碼串
millisec 引數為呼叫code之間的時間間隔
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
function test(){
console.log("setInterval");
}
// setInterval("test()",2000);
// setTimeout("test()",2000);
var timerID;
function startDinshiqi(){
// timerID = setInterval("test()",2000);
timerID = setTimeout("test()",3000);
}
function stopDingshiqi(){
// clearInterval(timerID);
clearTimeout(timerID);
}
</script>
</head>
<body>
<input type="button" value="開啟定時器" onclick="startDinshiqi()" /><br />
<input type="button" value="取消定時器" onclick="stopDingshiqi()"/><br />
</body>
</html>
圖片自動輪播:
// 會被顯示在狀態列
<html>
<head>
<script type="text/javascript">
function load(){
window.status = "Page"
}
</script>
</head>
<body onload="load()">
</body>
</html>
檔案載入完成事件onload,事件觸發
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
var index = 0;
function changeImg(){
var img = document.getElementById("img1");
//當前要切換到第幾張圖片
var curIndex = index%3 + 1;
img.src="../img/"+curIndex+".jpg";
//每切換完,索引加1
index = index + 1;
}
function init(){
setInterval("changeImg()",1000);
}
</script>
</head>
<body onload="init()">
<img src="../img/1.jpg" width="100%" id="img1"/>
</body>
</html>
顯示和隱藏
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
// var img = document.getElementById("img1");
function hideImg(){
var img = document.getElementById("img1");
img.style.display = "none";
}
function showImg(){
var img = document.getElementById("img1");
img.style.display = "block";
}
</script>
</head>
<body>
<input type="button" value="顯示" onclick="showImg()" />
<input type="button" value="隱藏" onclick="hideImg()" /><br />
<img src="../img/1.gif" id="img1" />
</body>
</html>
setInterval
:每隔多少毫秒執行一次
setTimeout
:多少毫秒後執行一次
clearInterval
和clearTimeout
img.style.display=block
和img.style.display=none
定時廣告:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
function init(){
setTimeout("showAD()",3000);
}
function showAD(){
//獲取要操作的img
var img = document.getElementById("img1");
//顯示廣告
img.style.display = "block";
//再開啟定時器,關閉廣告
setTimeout("hideAD()",3000);
}
function hideAD(){
//獲取要操作的img
var img = document.getElementById("img1");
//隱藏廣告
img.style.display = "none";
}
</script>
</head>
<body onload="init()">
<img id="img1" src="../img/555.jpg" width="100%" style="display: none;"/>
</body>
</html>
表單效果
onblur 元素失去焦點
onchange 域的內容被改變
onfocus 元素獲取焦點
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--
引入外部的js檔案
-->
<script type="text/javascript" src="../js/regutils.js" ></script>
<script>
function showTips(spanID,msg){
var span = document.getElementById(spanID);
span.innerHTML = msg;
}
function checkUsername(){
var uValue = document.getElementById("username").value;
var span = document.getElementById("span_username");
if(uValue.length < 6){
span.innerHTML = "<font color=`red` size=`2`>太短</font>";
return false;
}else{
span.innerHTML = "<font color=`red` size=`2`>可用</font>";
return true;
}
}
/*
密碼校驗
*/
function checkPassword(){
var uPass = document.getElementById("password").value;
var span = document.getElementById("span_password");
if(uPass.length < 6){
span.innerHTML = "<font color=`red` size=`2`>太短</font>";
return false;
}else{
span.innerHTML = "<font color=`red` size=`2`>夠用</font>";
return true;
}
}
/*
確認密碼校驗
* */
function checkRePassword(){
var uPass = document.getElementById("password").value;
var uRePass = document.getElementById("repassword").value;
var span = document.getElementById("span_repassword");
if(uPass != uRePass){
span.innerHTML = "<font color=`red` size=`2`>兩次密碼不一致</font>";
return false;
}else{
span.innerHTML = "";
return true;
}
}
/*
校驗郵箱
* */
function checkMail(){
var umail = document.getElementById("email").value;
var flag = checkEmail(umail);
var span = document.getElementById("span_email");
//對郵箱輸入進行校驗
if(flag){
span.innerHTML = "<font color=`red` size=`2`>可用</font>";
return true;
}else{
span.innerHTML = "<font color=`red` size=`2`>郵箱格式貌似有問題</font>";
return false;
}
}
function checkForm(){
var flag = checkUsername() && checkPassword() && checkRePassword() && checkMail();
return flag;
}
</script>
</head>
<body>
<form action="../555.html" onsubmit="return checkForm()" >
使用者名稱:<input type="text" id="username" onfocus="showTips(`span_username`,`使用者名稱長度不能小於6`)" onblur="checkUsername()" onkeyup="checkUsername()" /><span id="span_username"></span><br />
密碼:<input type="password" id="password" onfocus="showTips(`span_password`,`密碼長度不能小於6`)" onblur="checkPassword()" onkeyup="checkPassword()"/><span id="span_password"></span><br />
確認密碼:<input type="password" id="repassword" onfocus="showTips(`span_repassword`,`兩次密碼必須一致`)" onblur="checkRePassword()" onkeyup="checkRePassword()" /><span id="span_repassword"></span><br />
郵箱:<input type="text" id="email" onfocus="showTips(`span_email`,`郵箱格式必須正確`)" onblur="checkMail()" /><span id="span_email"></span><br />
手機號:<input type="text" id="text" /><br />
<input type="submit" value="提交" />
</form>
</body>
</html>
表單提交規則
https://github.com/huangguangda/Tools/blob/master/regutils.js
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
function showTips(spanID,msg){
var span = document.getElementById(spanID);
span.innerHTML = msg;
}
function checkUsername(){
var uValue = document.getElementById("username").value;
var span = document.getElementById("span_username");
if(uValue.length < 6){
span.innerHTML = "太短啦!"
return false;
}else{
span.innerHTML = "夠用!"
return true;
}
}
function checkForm(){
var flag = checkUsername();
return flag;
}
</script>
</head>
<body>
<form action="../555.html" onsubmit="return checkForm()">
使用者名稱:<input type="text" id="username" onblur="checkUsername()" onfocus="showTips(`span_username`,`使用者名稱長度不能小於6位`)" /><span id="span_username"></span> <br />
<input type="submit" value="註冊" />
</form>
</body>
</html>
引入檔案
<script src="js檔案路徑" type="text/javascript" />
ondblclick: 當使用者雙擊某個物件時呼叫的事件
onerrror: 在載入文件或影像時發生錯誤
onfocus: 元素獲得焦點
onkeydown: 某個鍵盤按鍵被按下
onkeypress: 某個鍵盤按鍵被按下並鬆開
onkeyup: 某個鍵盤按鍵被鬆開
onload: 一張頁面或一副影像完成載入
onmousedown: 滑鼠按鈕被按下
onmousemove: 滑鼠被移動
onmouseout: 滑鼠從某元素移開
onmouseover: 滑鼠移到某元素之上
onmouseup: 滑鼠按鍵被鬆開
表格隔行顏色
<tr>
<td>
<input type="checkbox"/>
</td>
<td><a href="#">修改</a> | <a href="#">刪除</a></td>
</tr>
<tr bgcolor="red">
</tr>
<body onload="init()">
<table border="1px" width="600px" id="tab">
function init(){
var tab = document.getElementById("tab");
}
table物件
table物件代表一個html表格,<table>標籤
cells[] 返回包含表格中所有單元格的一個陣列
// 所有單元格
rows[] 返回包含表格中所有行的一個陣列
tBodies[] 返回包含表格中所有tbody的一個陣列
表格全選和全不選
getElementById()方法
getElementById()方法返回帶有指定ID的元素
var element = document.getElementById("tag");
appendChild(node): 插入新的子節點
removeChild(node):刪除子節點
innerHTML: 節點元素的文字值
parentNode:節點的父節點
childNodes:節點元素的子節點
attributes:節點的屬性節點
getElementById(): 返回帶有指定ID的元素
getElementsByTagName(): 返回包含帶有指定標籤名稱的所有元素的節點列表
getElementsByClassName(): 返回包含帶有指定類名的所有元素的節點列表
appendChild(): 把新的子節點新增到指定節點
removeChild(): 刪除子節點
replaceChild():替換子節點
insertBefore(): 在指定子節點前面插入新的子節點
createAttribute(): 建立屬性節點
createElement(): 建立元素節點
createTextNode(): 建立文字節點
getAttribute(): 返回指定的屬性值
setAttribute(): 把指定屬性設定值
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<img src="../img.gif" />
<p>文字</p>
</body>
</html>
省市聯動
<select>
<option></option>
<option></option>
<option></option>
</select>
DOM:
Document Object Model
HTML DOM定義了訪問和操作的html文件的標準
DOM是標準,定義了訪問html和xml文件的標準
DOM是
Document Object Model 文件物件模型的縮寫
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
function dianwo(){
var div = document.getElementById("div1");
//建立元素節點
var p = document.createElement("p"); // <p></p>
//建立文字節點
var textNode = document.createTextNode("文字內容");// 文字內容
//將p 和文字內容關聯起來
p.appendChild(textNode); // <p>文字</p>
//將P新增到目標div中
div.appendChild(p);
}
</script>
</head>
<body>
<input type="button" value="點我" onclick="dianwo()" />
<div id="div1">
</div>
</body>
</html>
選擇城市
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
var provinces = [
["深圳市","東莞市","惠州市","廣州市"],
["長沙市","岳陽市","株洲市","湘潭市"],
["廈門市","福州市","漳州市","泉州市"]
];
function selectProvince(){
var province = document.getElementById("province");
//得到當前選中的是哪個省份
//alert(province.value);
var value = province.value;
//從陣列中取出對應的城市資訊
var cities = provinces[value];
var citySelect = document.getElementById("city");
//清空select中的option
citySelect.options.length = 0;
for (var i=0; i < cities.length; i++) {
var cityText = cities[i];
var option1 = document.createElement("option");
//建立城市文字節點
var textNode = document.createTextNode(cityText) ;
//將option節點和文字內容關聯起來
option1.appendChild(textNode);
// 新增到城市select中
citySelect.appendChild(option1);
}
}
</script>
</head>
<body>
<!--選擇省份-->
<select onchange="selectProvince()" id="province">
<option value="-1">--請選擇--</option>
<option value="0">廣東省</option>
<option value="1">湖南省</option>
<option value="2">福建省</option>
</select>
<!--選擇城市-->
<select id="city"></select>
</body>
</html>
案例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
function selectOne(){
var leftSelect = document.getElementById("leftSelect");
var options = leftSelect.options;
//找到右側的Select
var rightSelect = document.getElementById("rightSelect");
//遍歷找出被選中的option
for(var i=0; i < options.length; i++){
var option1 = options[i];
if(option1.selected){
// 將選中的元素新增到右邊的Select中就可以
rightSelect.appendChild(option1);
}
}
}
//將左邊所有的商品移動到右邊
function selectAll(){
// 獲取左邊Select中被選中的元素
var leftSelect = document.getElementById("leftSelect");
var options = leftSelect.options;
//找到右側的Select
var rightSelect = document.getElementById("rightSelect");
//遍歷找出被選中的option
for(var i=options.length - 1; i >=0; i--){
var option1 = options[i];
rightSelect.appendChild(option1);
}
}
</script>
</head>
<body>
<table border="1px" width="400px">
<tr>
<td>分類名稱</td>
<td><input type="text" value="手機數碼"/></td>
</tr>
<tr>
<td>分類描述</td>
<td><input type="text" value="手機數碼"/></td>
</tr>
<tr>
<td>分類商品</td>
<td>
<!--左邊-->
<div style="float: left;">
已有商品<br />
<select multiple="multiple" id="leftSelect" ondblclick="selectOne()">
<option></option>
<option></option>
<option></option>
<option></option>
</select>
<br />
<a href="#" onclick="selectOne()"> >> </a> <br />
<a href="#" onclick="selectAll()"> >>> </a>
</div>
<!--右邊-->
<div style="float: right;">
未有商品<br />
<select multiple="multiple" id="rightSelect">
<option></option>
<option></option>
<option></option>
<option></option>
</select>
<br />
<a href="#"> << </a> <br />
<a href="#"> <<< </a>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="提交"/>
</td>
</tr>
</table>
</body>
</html>
結言
好了,歡迎在留言區留言,與大家分享你的經驗和心得。
感謝你學習今天的內容,如果你覺得這篇文章對你有幫助的話,也歡迎把它分享給更多的朋友,感謝。
達叔小生:往後餘生,唯獨有你
You and me, we are family !
90後帥氣小夥,良好的開發習慣;獨立思考的能力;主動並且善於溝通
簡書部落格: 達叔小生
https://www.jianshu.com/u/c785ece603d1
結語
- 下面我將繼續對 其他知識 深入講解 ,有興趣可以繼續關注
- 小禮物走一走 or 點贊`