diankb.cn | 项目源码




视力挑战|源码




声明

1.该项目由diankb.cn,通过网络共享资源获取及免费分享,源码仅供学习参考。

2.如果您没有获取相关开发资质,请勿将源码用作商业用途。

3.本平台只提供项目和源码分享,不提供运行、安全、相关测试,以及教学指导。
如需获取项目帮助,可自行联系项目开发者。


如需项目合作与分享:
请联系邮箱:10000@diankb.cn




源码如下


<!DOCTYPE html>
<html>
  <head>
	<meta charset="utf-8" name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
	<title>视力挑战</title>
    <style>
      body{background:skyblue;}
      h1{
        text-align:center;
        }
      .box{
        display:flex;
        flex-wrap:wrap;
        width:80vw;
        height:80vw;
        border:2px solid red;
        margin:20vw auto;
        }
      .item{
        width:20vw;
        height:20vw;
        border:1px solid white;
        box-sizing:border-box;
        }
    </style>
  </head>
  <body>	
	<h1>视力挑战</h1>
    <h1 class="s">得分:</h1>
    <div class="box"></div>
    <script>
      let box = document.querySelector(".box")
      let d = 20
      let s = 0
      let items = []
      for(let i = 0; i< 16; i++){
        let item = document.createElement("div")
        item.className = "item"
        items.push(item)
        box.appendChild(item)
        event(item)
      }
      
      setColor()
      function setColor(){
          
          let rgbs = []
          
          let flag = Math.floor(Math.random()*15)
          for(let i = 0; i < 3; i++){
            rgbs.push(Math.round(Math.random()*150+100))
          }
         
          items.forEach((v,i)=>{
            let ds = i == flag ? d : 0
            v.style.backgroundColor = `rgb(${rgbs[0]-ds},${rgbs[1]-ds},${rgbs[2]-ds})`
            v.index = false
          })
          items[flag].index = true
          
      }
      function event(dom){
          dom.addEventListener("click",function(){
              if(this.index){
                d--
                s++
                document.querySelector(".s").innerHTML="得分:"+s
                setColor()
              }else{
                alert("打错啦,你的得分是:"+s)
              }
              
           })
          
      }
    </script>
  </body>
</html>