自己學js程式碼常用(一)
圖片輪播
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文件</title> <style> .show{ display:block; } .hide{ display:none; } </style> <script> var id; function start(){ var index=0; var ulNode=document.getElementsByTagName("ul")[0]; var lis=ulNode.getElementsByTagName("li"); id=window.setInterval(function(){ index++; for(var i in lis){ lis[i].className="hide"; } var n= index%lis.length; lis[n].className="show"; },1000); } function stop(){ window.clearInterval(id); } </script> </head> <body onload="start()" > <ul onmouseover="stop()" onmouseout="start()" > <li class="show"><img src="a/1.jpg" width="320px" height="430px"/></li> <li class="hide"><img src="a/2.jpg" width="320px" height="430px" /></li> <li class="hide"><img src="a/3.jpg" width="320px" height="430px" /></li> <li class="hide"><img src="a/4.jpg" width="320px" height="430px"/></li> <li class="hide"><img src="a/5.jpg" width="320px" height="430px" /></li> </ul> </body> </html>
自動跳轉網頁
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文件</title> <script> var id; window.onload=function(){ //1.獲取span節點物件 spanNode var spanNode=document.getElementById("myid"); //2.獲取spanNode中封裝的資料 var t=spanNode.innerHTML; //3.設定計時器 window.setInterval(function(){ //3.1獲取t的值 t=spanNode.innerHTML // 3.2判斷t的值 if(t>0){ t=t-1; spanNode.innerHTML=t; } else{ // 跳轉 } },1000); //計時5秒,跳轉到網易,本次例題,只計時一次 id=window.setTimeout("window.open('http://www.163.com')",5000); } function cleartime(){ //1.關閉計時器 window.clearTimeout(id); //2.跳轉到網易 window.open("http://www.163.com"); } </script> </head> <body> 對不起,程式出錯了,<span id="myid">5</span>秒鐘後跳轉到網易,點選<a href="javascript:cleartime()">這裡</a>直接到網易 </body> </html>
表單驗證
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文件</title>
<!--介面中文字框有三種樣式,分別為正常、獲取焦點、錯誤提示-->
<style>
table{
border:#06F 1px solid;
width:600px;
border-collapse:collapse;}
table td,table th{
border:#06F 1px solid;
padding:10px;}
table td{
background-color:#FF6;}
table th{background-color:#F96;}
.yes{
display:none;
}
.no{
display:inline;
color:red;
}
.nor{
border:#666 2px solid;
}
.error{
border:#F00 2px solid;
}
.focus{
border:#06F 2px solid;}
}
</style>
<script>
//頁面一載入讓所有的文字框處於nor狀態,當文字框獲取焦點時該文字框處於focus樣式
window.onload=function(){
//文字框處於nor
//1.獲取表單物件:document.getElementsByTagName("form")[0]
var formNode=document.forms[0]//.forms獲取document下所有的表單物件
input(formNode.user);
input(formNode.psw);
input(formNode.repsw);
input(formNode.email);
/*formNode.user.className="nor";
formNode.psw.className="nor";
//2.每個文字框都有獲取焦點狀態
formNode.user.onfocus=function(){
this.className="focus";
}*/
}
function input(textNode){
textNode.className="nor";
textNode.onfocus=function(){
this.className="focus";
}
}
//使用者錄入資料校驗需要的引數有1.文字框節點物件,2.正則表示式 3.錯誤提示span節點物件
function check(textNode,rel,spanNode){
var textvalue=textNode.value;
if(textvalue.match(rel)){
spanNode.className="yes";
textNode.className="nor";
return true;
}
else{
spanNode.className="no";
textNode.className="error";
return false;
}
}
//表單驗證:重要的功能是使用者錄入的資料不符合要求則不能提交到伺服器
//表單中submit命令按鈕的提交功能對應一個表單的onsubmit事件
//定義校驗使用者姓名函式
function checkName(textNode){
//1.獲取使用者姓名文字框中錄入的資料, 事件源:event.srcElement
//var textvalue=textNode.value;
//alert(textvalue);
//實參this指的是當前事件源,即呼叫該函式的節點物件,本函式中this指的是使用者姓名節點物件
//var textNode=event.srcElement;--->this
// var textNode=document.getElementsByTagName("input")[0];
//2.定義一個正則表示式(說明使用者姓名錄入資料的規則)要求由6位字母構成{n}
var rel=/^[a-z]{6}$/i;//正則表示式必須用//封裝,其內為正則的規則,i為忽略大小寫\w字母數字下劃線任意字元
//由6位的字母數字下劃線構成
//3.比較使用者錄入的資料是否滿足條件 match() true匹配 false不匹配
//獲取錯誤提示span節點物件
var spanNode=document.getElementById("nameid");
return check(textNode,rel,spanNode);
/*if(textvalue.match(rel)){
spanNode.className="yes";
return true;
}
else{
spanNode.className="no";
return false;
}*/
//3.1不符合要求:span節點的className="no";
//3.2符合要求:span節點的className="yes";
}
function checkPsw(textNode){
var rel=/^\d{6,8}$/;
var spanNode=document.getElementById("pswid");
return check(textNode,rel,spanNode);
}
function checkEmail(textNode){
var rel=/^\ [email protected]\w+\.\w+$/;
var spanNode=document.getElementById("emailid");
return check(textNode,rel,spanNode);
}
function checkRepsw(textNode){
var revalue = textNode.value;
var a=document.getElementById("password").value;
var b=document.getElementById("repswid");
if(revalue==a){
b.className="yes";
textNode.className="nor";
return true;
}else{
b.className="no";
textNode.className="error";
return false;
}
}
//定義表單驗證函式
function checkform(form){
//form為當前要驗證的表單
if(checkName(form.user)&&checkPsw(form.psw)&&checkEmail(form.email)&&checkRepsw(form.repsw))
{
//呼叫驗證函式checkName(姓名文字框節點物件)等都需要傳遞一個引數,表示當前要驗證的文字框的節點物件
//表單如何獲取其中的元件:表單物件名.元件name名
return true;//允許提交,所有的驗證函式都為true
}
else{
return false;//禁止提交
}
}
</script>
</head>
<body>
<form onsubmit="return checkform(this)">
<table>
<tr>
<th colspan="2">使用者登錄檔單</th>
</tr>
<tr>
<td>使用者姓名:</td><td><input type="text" name="user" onblur="checkName(this)" /><span class="yes" id="nameid">使用者姓名格式錯誤,請重新輸入!</span></td>
</tr>
<tr>
<td>輸入密碼:</td><td><input type="text" name="psw" id="password" onblur="checkPsw(this)"/><span class="yes" id="pswid">密碼格式錯誤,請重新輸入!</span></td>
</tr>
<tr>
<td>確認密碼:</td><td><input type="text" name="repsw" onblur="checkRepsw(this)"/><span class="yes" id="repswid">兩次密碼不一致,請重新輸入!</span></td>
</tr>
<tr>
<td>郵箱地址:</td><td><input type="text" name="email" onblur="checkEmail(this)" /><span class="yes" id="emailid">郵箱格式錯誤,請重新輸入!</span></td>
</tr>
<tr>
<th colspan="2"><input type="submit" value="提交"/>
<input type="reset" value="重置"/></th>
</tr>
</table>
</form>
</body>
</html>
相關推薦
自己學js程式碼常用(一)
圖片輪播 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <
Java常用的八種排序演算法與程式碼實現(一):氣泡排序法、插入排序法、選擇排序法
這三種排序演算法適合小規模資料排序 --- 共同點:基於比較,時間複雜度均為O(n2),空間複雜度均為O(1)(原地排序演算法) 不同點:插入排序和氣泡排序是穩定的排序演算法,選擇排序不是 --- 穩定排序演算法:可以保持數值相等的兩個物件,在排序之
前端菜鳥學node.js初體驗(一)
如今,nodejs如此之火,讓我這個打算從事前端開發的小白,也忍不住要學習一下,然而剛剛接觸nodejs,就深深的喜歡上了這個語言。 下面我將分享一下我最初學習nodejs時的總結的學習經驗,也是總結一下近期學習的知識,還會總結我在學習中遇到的困難,又是如何解
前端教你學UI——人物處理(一)
適應 logs 減少 方法 情況 總結 -a 但是 影響 一、序言 本文作為本系列的第一篇寫UI的文章,開頭還是有必要申明一些東西的,本系列主要是為了作為博主在前端工作之余學習UI的一個記錄,同時為了讓更多的同行學習到一些編程之外的其他東西。所以本文會盡可能詳細的介紹如何
fullpage.js簡單教程(一)
style 準備工作 iba 耐心 兼容性 css3 動畫 lin per orm 最近準備做一個全屏滾動的網頁,在網上搜了一堆教程,結果大多都是一些很籠統的使用方法,對我這種耐心不超過3秒的笨蛋來說,很晦澀很籠統,所以打算邊研究邊自己寫個教程,有什麽不懂的,我再回來翻看筆
Three.js入門篇(一)創建一個場景
style api text webgl () mes utf 動畫 fun 上一面講述了向場景中添加物體對象。這一篇準備把每個功能點細細的講述一遍,一方面是為了加深自己的理解。另一方面希望能夠 幫助到有需要的人。 一、在學習WEBGL的時候,你應該先了解要創建一個WebG
讓我們把KBEngine玩壞吧!如何定制我們自己的C++函數(一)
data ase erro glob alt ins sin 程序 all 為什麽不更新kbe warring的代碼解讀了,因為在我看來那個demo講完了實體就沒東西可講了,如果專心的看官方文檔和PPT的話demo的代碼後面沒任何難點了已經,單純的復制黏貼代碼實在太過無聊。
從零開始學 Web 之 DOM(一)DOM的概念,對標簽操作
關註 1.5 pan 什麽 tin p標簽 nod text == 大家好,這裏是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關註。在這裏我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,
node.js小整理(一)
eat 當前目錄 分享 rom js對象 mage 隊列 線程 ima node.js是一個基於Chrome v8引擎的JavaScript運行環境 之前我們編寫的JavaScript代碼都是在瀏覽器中運行的,所以我們可以直接在瀏覽器中敲代碼,然後直接運行。現在學習node
從零開始學 Web 之 CSS3(一)CSS3概述,選擇器
https 兼容問題 3.1 線性 web前端 不同 錨點 splay lock 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔
JS之DOM(一)
滿足 del dom3 () 樹節點 也會 name屬性 api 對象 一、DOM簡介 什麽是DOM?簡單地說,DOM是是針對HTML和XML文檔的一個API,一套對文檔的內容進行抽象和概念化的方法。 學習過ORM的同學可能知道ORM是將數據庫中的表映射到類,建立一個表和類
例項詳解js閉包(一)閉包基本概念及其作用推導
在學習前端的過程中,不可避免的要學習到js閉包這個知識點,很多朋友感到對閉包很難理解,也不清楚它有什麼用。本文就詳細介紹一下閉包,並通過幾個小例子來說明下閉包的用處。 一、閉包的概念 閉包的英文單詞是Closure,我先給閉包可
D3.js學習筆記(一)
D3.js學習資源: http://wiki.jikexueyuan.com/project/d3wiki/introduction.html 極客學院關於D3.js的系列文章; http://d3.decembercafe.org/ http://www.ourd3js.com/wor
Webpack 4.X webpack.config.js 檔案配置(一)
通過上一篇文章,我們明白了webpack的兩個配置引數入口與出口,webpack會找到入口檔案的地址,進去後一頓蹂躪,再通過你給的輸出地址就把編譯後的檔案給你了。這篇文章接著去豐富webpack.config.js的內容,說一個引數叫plugins plugins plugins裡面放的是外掛,在webp
teb_local_planner程式碼梳理(一)
該部分是teb進行自動調整,根據de_ref參考兩個位姿之間的時間差,dt_hysteresis為滯後時間,也就是為時間差加一個誤差限,一般為dt_ref的10%。 經過調整滯後想要達到的目的是,每個時間差都在dt_ref左右。 void TimedElasticBand::autoResi
JS之函式(一)
函式定義 函式主要分為兩種,其一為常見的函式宣告,其二為函式表示式 1、函式宣告 function test() {} 講解為:函式的特徵值 function + 函式名() {函式體} 2、函式表示式 (1
java程式設計思想-程式碼賞析(一)
package com.test.pet; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random; public abstract clas
detectron程式碼理解(一):Resnet模型構建理解
這裡具體以resnet50為例進行說明,一句一句地分析程式碼,程式碼位置位於Resnet.py,具體的分析函式為add_ResNet_convX_body. 在分析之前首先貼上resnet50的程式碼結構圖: # add the stem (by default, conv1 and
Js基礎總結(一)
JavaScript中的變數型別有哪些? 一. 值型別(原始型別),值型別是儲存再棧中的簡單資料。也就是說,它們的值直接儲存在變數訪問的位置。一共包含6種,分別是:字串(String) 數值(number)布林值(boolean) null undefined Symbol(ES6新增)
原生JS去重(一)--兩種方法去掉重複字元
所謂“去重”,即是去掉重複的字元。本篇部落格講述兩種方式去重,一種是比較簡單但程式碼比較囉嗦點的,另一種是有點深度但是簡潔的。 我直接寫JavaScript程式碼了。 方式一: function deleteRepetionChar(arr){ //先判斷輸入進