最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript實(shí)現(xiàn)英語單詞題庫

 更新時(shí)間:2019年12月24日 11:33:53   作者:.olofmeister  
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)英語單詞題庫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了JavaScript制作簡易單詞測試題庫的具體代碼,供大家參考,具體內(nèi)容如下

使用sessionStorage和localStorage制作一個(gè)英語單詞題庫

由于一共有三個(gè)頁面 所以html代碼和css代碼只展示部分作參考

<div class="main">
 <h1>單詞錄入</h2>
 <hr><br>
 <span>English:</span><input type="text" name="en"><br>
 <span>中文:</span><input type="text" name="cn"><br>
 <button class="btn" value="">保存</button><br><br>
 <hr style=" border-top:10px dotted #4285f4;" /><br><br>
 <button class="start">開始測試</button>
 <span class="num">你已經(jīng)錄入0組詞匯</span>
 </div>

頁面1JS

var en = document.getElementsByName("en")[0];
var cn = document.getElementsByName("cn")[0];
var btn = document.getElementsByClassName("btn")[0];
var start = document.getElementsByClassName("start")[0];
var num = document.getElementsByClassName("num")[0];
num.innerHTML = `你已經(jīng)錄入${localStorage.length}組詞匯`
btn.onclick = function(){
  localStorage.setItem(cn.value,en.value);
  document.getElementsByName("en")[0].value = '';
  document.getElementsByName("cn")[0].value = '';
  //num為已經(jīng)存入localStorage 的數(shù)據(jù)長度
  for(var i = 0 ; i<=localStorage.length;i++){
  num.innerHTML = `你已經(jīng)錄入${i}組詞匯`
  }
 }
 start.onclick = function(){
  confirm('確定現(xiàn)在開始測驗(yàn)?');
  location.href = 'test.html';
 }

頁面2JS

 var test = document.getElementById("test");
 var arr = new Array();
 var start = document.getElementsByClassName("start")[0];
 //遍歷localStorage對象 將key和value取出來存放到新的arr數(shù)組
 for(var i = 0; i < localStorage.length; i++) {
     var getKey = localStorage.key(i);
     var getVal = localStorage.getItem(getKey);
     arr[i] = {
       'key': getKey,
       'val': getVal,
     }
   }
   var btn = document.getElementsByClassName("btn")[0];
   //初始化總題數(shù),正確數(shù)量,錯(cuò)誤數(shù)量
   var all = arr.length;
   var right = 0;
   var wrong = 0;
   sessionStorage.setItem('題庫',all);
   btn.onclick = function(){
   //判斷數(shù)組中存在數(shù)據(jù)
   if (arr.length) {
    //在數(shù)組中隨機(jī)取一道題顯示在頁面上
    let index = Math.floor(Math.random()*arr.length);
    test.innerHTML=`<span>${arr[index].key}:</span><input type="text" name="cn" autocomplete="off"><br>`;
    var cn = document.getElementsByName("cn")[0];
    //input失焦后對value值和存好的數(shù)據(jù)進(jìn)行比對
    cn.onblur = function(){
    if (cn.value == arr[index].val) {
     right++;
    }else{
     wrong++;
    }
    //儲(chǔ)存正確和錯(cuò)誤數(shù)量
    sessionStorage.setItem('right',right);
    sessionStorage.setItem('wrong',wrong);
    //防止后續(xù)出現(xiàn)這個(gè)題在數(shù)組中刪除它
    arr.splice(index,1);
    }  
   }else{
    test.innerHTML = `<span>這已經(jīng)是最后一題了</span>`
   }  
   }
   start.onclick = function(){
   confirm('確定提交答案?');
   location.href = 'result.html'
   }

頁面3JS

var all = document.getElementById("all");
var right = document.getElementById("right");
 var wrong = document.getElementById("wrong");
 all.innerHTML = sessionStorage.題庫;
 right.innerHTML = sessionStorage.right;
 wrong.innerHTML = sessionStorage.wrong;
 var start = document.getElementsByClassName("start")[0];
 var again = document.getElementsByClassName("again")[0];
 start.onclick = function(){
  location.href = "save.html";
 }
 again.onclick = function(){
  location.href = "test.html"
 }

下面是兩個(gè)web儲(chǔ)存的圖作為重點(diǎn)

重點(diǎn)是將數(shù)據(jù)存儲(chǔ)到 localStorage 中 再便利這個(gè)對象將鍵值對存儲(chǔ)到數(shù)組中以便我們后續(xù)使用,界面2的內(nèi)容是將數(shù)組的內(nèi)容按照隨機(jī)順序擺放到頁面中 在input框失去焦點(diǎn)后進(jìn)行判斷對正確答案和錯(cuò)誤答案進(jìn)行保存 (注意一定不能再點(diǎn)擊下一個(gè)的時(shí)候進(jìn)行判斷因?yàn)榇藭r(shí)的input框?qū)?yīng)的數(shù)據(jù)內(nèi)容以及改變) 以便輸出最后的數(shù)量 其他一些注釋已經(jīng)寫在代碼中了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)監(jiān)聽頁面滾動(dòng)

    微信小程序?qū)崿F(xiàn)監(jiān)聽頁面滾動(dòng)

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)監(jiān)聽頁面滾動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • js綁定事件this指向發(fā)生改變的問題解決方法

    js綁定事件this指向發(fā)生改變的問題解決方法

    js綁定事件this指向發(fā)生改變的問題將在本文進(jìn)行詳細(xì)探討下,感興趣的朋友可以參考下哈,希望對你有所幫助
    2013-04-04
  • Js操作Select大全(取值、設(shè)置選中等等)

    Js操作Select大全(取值、設(shè)置選中等等)

    Js操作Select是很常見的,也是比較實(shí)用的,每一次操作select的時(shí)候,總是要出來翻一下資料,不如自己總結(jié)一下,以后就翻這里了
    2013-10-10
  • 通過實(shí)踐編寫優(yōu)雅的JavaScript代碼

    通過實(shí)踐編寫優(yōu)雅的JavaScript代碼

    這篇文章主要介紹了如何通過實(shí)踐編寫優(yōu)雅的JavaScript代碼。文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,下面我們來學(xué)習(xí)一下吧
    2019-05-05
  • js 事件的傳播機(jī)制(實(shí)例講解)

    js 事件的傳播機(jī)制(實(shí)例講解)

    下面小編就為大家?guī)硪黄猨s 事件的傳播機(jī)制(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • JavaScript與Div對層定位和移動(dòng)獲得坐標(biāo)的實(shí)現(xiàn)代碼

    JavaScript與Div對層定位和移動(dòng)獲得坐標(biāo)的實(shí)現(xiàn)代碼

    JavaScript與Div對層定位和移動(dòng)獲得坐標(biāo)的實(shí)現(xiàn)代碼,需要的朋友可以參考下。
    2010-09-09
  • 小程序?qū)崿F(xiàn)簡單語音聊天的示例代碼

    小程序?qū)崿F(xiàn)簡單語音聊天的示例代碼

    這篇文章主要介紹了小程序?qū)崿F(xiàn)簡單語音聊天的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • TypeScript入門之利用裝飾器擴(kuò)展代碼能力

    TypeScript入門之利用裝飾器擴(kuò)展代碼能力

    在?TypeScript?中,裝飾器是一種特殊的聲明,可以讓你的代碼更有趣、更靈活,下面小編就來帶大家學(xué)習(xí)一下TypeScript中裝飾器的具體使用吧
    2023-06-06
  • TypeScript命名空間講解

    TypeScript命名空間講解

    這篇文章主要介紹了TypeScript命名空間,TypeScript 是 JavaScript 的一個(gè)超集,支持 ECMAScript 6 標(biāo)準(zhǔn)。由微軟開發(fā)的自由和開源的編程語言。設(shè)計(jì)目標(biāo)是開發(fā)大型應(yīng)用,它可以編譯成純 JavaScript,編譯出來的 JavaScript 可以運(yùn)行在任何瀏覽器上,下面來看詳細(xì)內(nèi)容吧

    2021-12-12
  • JavaScript學(xué)習(xí)筆記之ES6數(shù)組方法

    JavaScript學(xué)習(xí)筆記之ES6數(shù)組方法

    ES6給數(shù)組添加了一些新特性,而這些新特性到目前為止完全可以運(yùn)用到自己的業(yè)務(wù)層。在這一節(jié)中將總結(jié)有關(guān)于ES6給數(shù)組提供一些新特性的使用方法
    2016-03-03

最新評(píng)論

沁源县| 锦屏县| 石河子市| 延津县| 大名县| 怀柔区| 汕头市| 新邵县| 封开县| 于田县| 高要市| 花莲县| 诸城市| 城口县| 嘉义市| 岑溪市| 策勒县| 宁晋县| 浦江县| 泸定县| 宜良县| 黎平县| 广南县| 托里县| 上虞市| 郴州市| 沅陵县| 黔东| 阜新市| 汝阳县| 炎陵县| 武宣县| 肇州县| 巴里| 夏河县| 嘉禾县| 大名县| 琼海市| 清水河县| 镇远县| 五原县|