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

javascript實現(xiàn)前端成語點擊驗證

 更新時間:2020年06月24日 09:14:15   作者:Jeslie-He  
這篇文章主要介紹了javascript實現(xiàn)前端成語點擊驗證,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了javascript實現(xiàn)前端成語點擊驗證的具體代碼,供大家參考,具體內(nèi)容如下

首先先看看效果圖吧

需求分析:

1.隨機生成成語,成語的位置隨機分布,并渲染在頁面上。
2.點擊文字的有效區(qū)域,依次點擊,并將點擊的文字依次保存在數(shù)組中,然后和之前生成的成語進行比較,如果相等,則驗證成功,否則驗證失敗,重新刷新頁面。

代碼實現(xiàn):

首先html的布局

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <link rel="stylesheet" href="./index.css" >
 <title>點擊成語驗證</title>
</head>
<body>
 <div class="idiom_box">
 <div class="bg_img"></div>
 
 </div>
 <div class="verify_box"></div>
 <script src="./jquery-1.11.0.min.js"></script>
 <script src="./index.js"></script>
</body>
</html>

CSS樣式:

*{
 margin: 0;
 padding: 0;
}
body{
 background-color: #E6E6FA; /* background-size: 100%; */
}
.idiom_box{
 width: 400px;
 height: 200px;
 border: 2px solid #00FFFF;
 border-radius: 10px;
 position: relative;
 margin: 50px auto 0;
 background-size: 100%;
 background-repeat: no-repeat;
 transition: all 2s;
 overflow: hidden;
}
.bg_img{
 width: 100%;
 height: 100%;
 background-image: url(./photo.jpg);
 background-size: cover;
}
.idiom_box .idiom_content{
 width: 200px;
 height: 100px;
 position: absolute;
 /* background-color: red; */
}
.idiom_content span{
 font-size: 40px;
 position: absolute;
 z-index: 4;
 color: #EBEBEB;
 font-weight: bold;
 transition: all 2s;
 cursor: pointer;
}
.idiom_content span:hover{
 color: #E0FFFF;
 font-size: 50px;
 transition: all 1.5s ease;
}
.verify_box{
 width: 400px;
 height: 40px;
 margin: 10px auto 0;
 border: 1px solid greenyellow;
 text-align: center;
 font-size: 26px;
 line-height: 40px;
 color: #C71585;
 font-weight: bold;
 transition: all 2s;
 border-radius: 10px;
 background-color: white;
}
.verify_box span{
 color: #FF7F00;
 transition: all 2s;
}

JS:

//創(chuàng)建成語
let idiomArr = ["新春快樂", "闔家快樂", "恭賀新禧", "萬事如意", "張燈結(jié)彩", "恭喜發(fā)財", "假期愉快", "今晚吃雞"];
//獲取隨機打亂的成語
let randomIdiom = idiomArr[Math.floor(Math.random() * (idiomArr.length - 1))];
// console.log(randomIdiom)
$('.verify_box').html(`請依次點擊: <span>${randomIdiom}</span>`)
//創(chuàng)建位置的數(shù)組
let placeArr = [
 { left: '0px', top: '0px' },
 { left: '200px', top: '0px' },
 { left: '0px', top: '100px' },
 { left: '200px', top: '100px' }
]
//隨機打亂位置數(shù)組
placeArr.sort(function () {
 return Math.random() - 0.5
})
// console.log(placeArr)

//遍歷成語并創(chuàng)建標簽
for (i in randomIdiom) {
 let left = Math.floor(Math.random() * 150);
 let top = Math.floor(Math.random() * 50);
 // console.log(left,top)
 //創(chuàng)建存放span的div對象
 divs = $('<div class="idiom_content"></div>')
 //給div定位
 divs.css({
 left: placeArr[i].left,
 top: placeArr[i].top
 })
 //創(chuàng)建儲存文字的span標簽
 span = $(`<span>${randomIdiom[i]}</span>`)
 //隨機span的位置
 span.css({
 left: left + 'px',
 top: top + 'px'
 });
 divs.append(span);
 $('.idiom_box').append(divs)
}
//事件委托
var verifyArr = [];
var str = null;
var timer = null;
var idiomBox = document.querySelector('.idiom_box');
clearTimeout(timer)
idiomBox.onclick = function (e) {
 e.target ? e.srcElement : e.target;
 if (e.target.tagName == 'SPAN') {
 // console.log(e.target.innerText);
 verifyArr.push(e.target.innerText);
 str = verifyArr.join('')
 if (str.length === randomIdiom.length) {
  if (str == randomIdiom) {
  // alert('驗證成功??!')
  $('.verify_box').html('驗證成功')
  } else {
  $('.verify_box').html('驗證失敗')
  timer = setTimeout(() => {
   location.reload()
  }, 1000);
  }
 }
 } else {
 alert('請點擊有效區(qū)域')
 }
}

驗證成功的效果:

點擊區(qū)域不對的效果:

驗證失敗的效果:

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

相關(guān)文章

  • 原生js實現(xiàn)移動端Touch輪播圖的方法步驟

    原生js實現(xiàn)移動端Touch輪播圖的方法步驟

    這篇文章主要介紹了原生js實現(xiàn)移動端Touch輪播圖的方法步驟,touch輪播圖其實就是通過手指的滑動,來左右切換輪播圖,touch輪播圖其實就是通過手指的滑動,來左右切換輪播圖,
    2019-01-01
  • 原生JS實現(xiàn)圖片左右輪播

    原生JS實現(xiàn)圖片左右輪播

    本文主要分享了原生JS實現(xiàn)圖片左右不停運動的完整示例代碼,可直接保存到HTML文檔打開可以查看效果。下面跟著小編一起來看下吧
    2016-12-12
  • 小程序animate動畫實現(xiàn)直播間點贊

    小程序animate動畫實現(xiàn)直播間點贊

    這篇文章主要為大家詳細介紹了小程序animate動畫實現(xiàn)直播間點贊,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 學(xué)習(xí)JavaScript設(shè)計模式之責(zé)任鏈模式

    學(xué)習(xí)JavaScript設(shè)計模式之責(zé)任鏈模式

    這篇文章主要為大家介紹了JavaScript設(shè)計模式中的責(zé)任鏈模式,對JavaScript設(shè)計模式感興趣的小伙伴們可以參考一下
    2016-01-01
  • Web安全之XSS攻擊與防御小結(jié)

    Web安全之XSS攻擊與防御小結(jié)

    這篇文章主要介紹了Web安全之XSS攻擊與防御小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • Javascript ES6中數(shù)據(jù)類型Symbol的使用詳解

    Javascript ES6中數(shù)據(jù)類型Symbol的使用詳解

    Symbol類型是es6新增的一個數(shù)據(jù)類型,Symbol值通過Symbol函數(shù)生成Symbol類型是保證每個屬性的名字都是獨一無二的,對于一個對象由對個模塊構(gòu)成的情況非常有用,本文主要介紹了Javascript ES6中數(shù)據(jù)類型Symbol使用的相關(guān)資料,需要的朋友可以參考下。
    2017-05-05
  • webpack?loader使用的安裝配置

    webpack?loader使用的安裝配置

    這篇文章主要為大家介紹了webpack?loader使用的安裝配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • 基于javascript制作經(jīng)典傳統(tǒng)的拼圖游戲

    基于javascript制作經(jīng)典傳統(tǒng)的拼圖游戲

    這篇文章主要為大家詳細介紹了基于javascript制作拼圖游戲的相關(guān)內(nèi)容,經(jīng)典傳統(tǒng)的拼圖游戲是大家最喜愛的游戲之一,具有挑戰(zhàn)性,感興趣的小伙伴們可以參考一下
    2016-03-03
  • javascript實現(xiàn)blob加密視頻源地址的方法

    javascript實現(xiàn)blob加密視頻源地址的方法

    這篇文章主要介紹了javascript實現(xiàn)blob加密視頻源地址的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Openlayers3實現(xiàn)車輛軌跡回放功能

    Openlayers3實現(xiàn)車輛軌跡回放功能

    這篇文章主要介紹了Openlayers3實現(xiàn)車輛軌跡回放功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09

最新評論

鹤岗市| 溆浦县| 华宁县| 广宁县| 绥江县| 太原市| 屏东县| 紫金县| 盘锦市| 盈江县| 泸州市| 宁波市| 寿光市| 玉溪市| 长兴县| 怀宁县| 喀什市| 吉林省| 辰溪县| 平顺县| 东明县| 来宾市| 皋兰县| 亚东县| 福鼎市| 高台县| 益阳市| 锡林浩特市| 沙雅县| 关岭| 嘉定区| 屏东市| 康保县| 永修县| 婺源县| 清丰县| 长宁县| 黔西县| 桐庐县| 嘉善县| 陆良县|