欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用JS代碼實(shí)現(xiàn)俄羅斯方塊游戲

 更新時(shí)間:2018年08月03日 10:05:03   作者:Foryourfuture  
這篇文章主要介紹了使用JS代碼實(shí)現(xiàn)俄羅斯方塊游戲,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

簡(jiǎn)單的JS俄羅斯方塊游戲源碼,先給大家展示下效果圖,如果大家感覺(jué)不錯(cuò),請(qǐng)參考實(shí)現(xiàn)代碼,

  效果圖:

 代碼如下,復(fù)制即可使用:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用JS實(shí)現(xiàn)俄羅斯方塊游戲</title>
<style type="text/css">
  .MainFrame
  {
    border: 1px solid burlywood;
    margin: 10px auto;
    position: relative;
    background-color: silver;
  }
  .MainFramediv
  {
    float: left;
    margin: 1px;
    position: absolute;
    /*z-index: -1;*/
  }
  .smallDiv
  {
    margin: 1px;
    position: absolute;
  }
  .smallDivblack
  {
    /*float: left;*/
    margin: 1px;
    /*margin: 1px;*/
    position: absolute;
    /*z-index: 2;*/
  }
  #tetris{
    width: 50%;
    margin: 0 auto;
    padding: 0;
    /*border: 1px solid silver;*/
  }
  #tetris:after{
    content: "";
    Display: block;
    Clear: both;
  }
  #control{
    float: left;
    border: 1px solid silver;
    width: 150px;
    height: 578px;
    margin-top: 10px;
    margin-left: 20px;
    padding-top: 30px;
    font-size: 24px;
    font-weight: 400;
    color: blue;
    text-align: center;
  }
  #level,#regame{
    width: 100px;
    height: 30px;
    border: 1px solid blue;
    font-size: 16px;
    color: red;
    font-weight: 300;
  }
  #control p{
    margin-top: 200px;
  }
  #regame{
    margin-top: 100px;
    font-weight: 600;
    background-color: azure;
  }
  #TFrime{
    float: left;
  }
  #info{
    float: left;
    border: 1px solid silver;
    width: 150px;
    height: 578px;
    margin: 10px auto;
    padding-top: 30px;
    text-align: center;
    color: blue;
    font-size: 24px;
    font-weight: 400;
  }
  #nextfigure{
    width: 100px;
    height: 100px;
    background-color: silver;
    margin: 0 auto;
    margin-bottom: 100px;
    position: relative;
  }
  .drawdiv{
    background-color: red;
    margin: 1px;
    border: 1px solid silver;
    position: absolute;
  }
</style>
<!-- 此處需要自己修改JS路徑 -->
<script src="js/GameFrame.js" type="text/javascript" charset="utf-8"></script>
<script src="js/graph.js" type="text/javascript" charset="utf-8"></script>
<script src="js/index.js" type="text/javascript" charset="utf-8"></script>
</head>
<body onload="initGame()">
<div id="tetris">
  <div id="control">
    難度:
    <div><select id="level" onchange="changespeed()">
      <option value="1000">簡(jiǎn)單
      <option value="500">一般
      <option value="200">困難
    </select></div>
    <input type="button" id="regame" value="重 新 開(kāi) 始" onclick="regame()">
    <p>
      ↑:變換<br>
      ←:左移<br>
      →:右移<br>
      ↓:加速<br>
    </p>
  </div>
  <div id="TFrime"></div>
  <div id="info">
    下一個(gè)圖形:
    <div id="nextfigure">
    </div>
    <div>分?jǐn)?shù):<span id="score">0</span></div>
  </div>
</div>
<div style="text-align:center;margin:10px 0; font:normal 14px/24px 'MicroSoft YaHei';">
<p>適用瀏覽器:360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗. 不支持IE8及以下瀏覽器。</p>
</div>
</body>
</html>

 GameFrame.js

function GameFrame(unit,row,col)
{
  //單位的像素
  this.unit = unit;
  //橫向單位個(gè)數(shù)(列),,(一行的個(gè)數(shù))
  this.row = row;
  //縱向單位個(gè)數(shù)(行),,(一列的個(gè)數(shù))
  this.col =col;
  //保存頁(yè)面創(chuàng)建div容器的屬性
  this.Content;
  //小圖形
  this.samlldiv;
  //定時(shí)器id
  this.intervalid;
  //速度
  this.speed =document.getElementById("level").value;
  //速度是否改變
  this.ChangeSped=0;
  //記錄每個(gè)位置是否有div
  this.datas=[];
  //記錄消除行數(shù)相應(yīng)的分?jǐn)?shù)
  this.score=[0,100,300,600,1000]
  //記錄當(dāng)前的圖形的下標(biāo)
  this.now;
  //記錄下一個(gè)圖形的下標(biāo)
  this.next;
  //記錄當(dāng)前的圖形的顏色
  this.nowcolor;
  //記錄下一個(gè)圖形的顏色
  this.nextcolor;
  //保存7種圖形相對(duì)坐標(biāo)的數(shù)組
  this.arr = "0,1,0,2,1,2,2,2;0,1,1,1,1,2,2,2;0,1,0,2,1,1,2,1;0,2,1,1,1,2,2,1;1,0,1,1,1,2,1,3;1,1,1,2,2,1,2,2;1,1,2,0,2,1,2,2".split(";");
  //保存小方塊的顏色
  this.color=["red","blue","green","yellow","#00FFFF","#930093","#F80000","#984B4B"];
  //初始化容器div
  this.init = function()
  {
    //創(chuàng)建div
    var div = document.createElement("div");
    //設(shè)置div的寬度
    div.style.width = (this.unit*this.row)+"px";
    //設(shè)置div的高度
    div.style.height=(this.unit*this.col)+"px";
    //設(shè)置div的樣式
    div.className="MainFrame";
    div.id="MainFrame";
    //加入到body中
    document.getElementById("TFrime").appendChild(div);
    this.Content =div; //保存div的引用
    //初始化數(shù)組
    for(var i=0;i<this.col;i++)  //i為行
    {
      for(var j=0;j<this.row;j++){        //j為列
      var sdiv = document.createElement("div");
      sdiv.className="MainFramediv";
      sdiv.style.width = (this.unit - 2) + "px";
      sdiv.style.height = (this.unit - 2) + "px";
      sdiv.style.left=(j*this.unit)+"px";
      sdiv.style.top=(i*this.unit)+"px";
      this.Content.appendChild(sdiv);
      this.datas.push(0);
      }
    }
    this.next=Math.floor(Math.random() * this.arr.length);
    this.nextcolor=this.color[Math.floor(Math.random() * this.color.length)];
    Start();
  }
  this.MoveLeft = function()
  {
    this.samlldiv.moveleft();
  }
  this.MoveRight = function(){
    this.samlldiv.moveright();
  }
  this.Change = function(){
    this.samlldiv.change();
  }
  this.MoveDown = function(){
    if(this.samlldiv.movedown())
    {
//      for(var i=0;i<this.samlldiv.divs.length;i++)
//      {
//        this.Content.removeChild(this.samlldiv.divs[i]);
//      }
      this.samlldiv.rescore();
      Start();
    }
  }
  function Start()
  {
    //將next值傳給now
    this.frame.now=this.frame.next;
    this.frame.nowcolor=this.frame.nextcolor;
    //創(chuàng)建小div
    this.frame.samlldiv=new Graph(this.frame);
    this.frame.samlldiv.init(this.frame.now,this.frame.nowcolor);
    //繪出下一個(gè)圖形
    this.frame.next=Math.floor(Math.random() * this.frame.arr.length);
    this.frame.nextcolor=this.frame.color[Math.floor(Math.random() * this.frame.color.length)];
    draw();
    //調(diào)用定時(shí)器下落
    this.frame.intervalid = setInterval(autoMoveDown,this.frame.speed);
    //判斷游戲是否結(jié)束
    if (this.frame.samlldiv.movedown()){
        clearInterval(this.frame.intervalid);
        alert("游戲結(jié)束!");
      }
  }
  function autoMoveDown()
  {
    if(this.frame.samlldiv.movedown())
    {
      this.frame.samlldiv.rescore();
      Start();
    }
    //改變速度
    if(this.frame.ChangeSped){
      clearInterval(this.frame.intervalid);
      this.frame.intervalid = setInterval(autoMoveDown,this.frame.speed);
      this.frame.ChangeSped=0;
    }
  }
  //速度改變,令ChangeSped值為1
  this.changespeed=function(){
    this.speed=document.getElementById("level").value;
    this.ChangeSped=1;
//    alert(this.ChangeSped);
  }
  //繪制下一個(gè)圖形
  function draw(){
    //清楚原有的圖形
    var cleardiv=document.getElementsByClassName("drawdiv");
    for(;;){
      if(cleardiv.length){
        document.getElementById("nextfigure").removeChild(cleardiv[0]);
      }else{
        break;
      }
    }
    //繪制圖形
    var smallarr = this.frame.arr[this.frame.next].split(",");
    for (var i = 0; i < 8; i += 2) {
    var drawdiv = document.createElement("div");
    drawdiv.className = "drawdiv";
    drawdiv.style.backgroundColor=this.frame.nextcolor;
    drawdiv.style.width = (this.frame.unit - 2) + "px";
    drawdiv.style.height = (this.frame.unit - 2) + "px";
    drawdiv.style.top = (((smallarr[i] - 0) * this.frame.unit)+18) + "px";
    drawdiv.style.left = (((smallarr[i + 1] - 0) * this.frame.unit)+18) + "px";
    document.getElementById("nextfigure").appendChild(drawdiv);
    }
  }
}

 graph.js

function Graph(frame) {
  //保存7種圖形相對(duì)坐標(biāo)的數(shù)組
//  var arr = "0,1,0,2,1,2,2,2;0,1,1,1,1,2,2,2;0,1,0,2,1,1,2,1;0,2,1,1,1,2,2,1;1,0,1,1,1,2,1,3;1,1,1,2,2,1,2,2;1,1,2,0,2,1,2,2".split(";");
  //保存4個(gè)小圖形的數(shù)組
  this.divs = [];
  //外部容器div的數(shù)組
  this.parentFrame = frame;
  //圖形橫縱偏移
  this.x = 0;
  this.y = 0;
  //記錄圖形的坐標(biāo)數(shù)組
  this.zb = [];
  //記錄消除的行數(shù)
  this.line=0;
  //初始化小圖形的方法
  this.init = function(rand,color) {
      //計(jì)算圖形其實(shí)坐標(biāo)的單位
      var startleft = (this.parentFrame.row - 4) / 2;
      this.x = startleft;
      //隨機(jī)生成圖形數(shù)組下標(biāo)
//      var rand = Math.floor(Math.random() * arr.length);
      //分解圖形的坐標(biāo)
      var smallarr = this.parentFrame.arr[rand].split(",");
      this.zb = smallarr;
      //循環(huán)設(shè)置小div的 left和top
      for (var i = 0; i < 8; i += 2) {
        //創(chuàng)建小div
        var smalldiv = document.createElement("div");
        //設(shè)置樣式
        smalldiv.className = "smallDiv";
        //設(shè)置顏色
        smalldiv.style.backgroundColor=color;
        //定義高寬
        smalldiv.style.width = (this.parentFrame.unit - 2) + "px";
        smalldiv.style.height = (this.parentFrame.unit - 2) + "px";
        //設(shè)置小div的top
        smalldiv.style.top = ((smallarr[i] - 0) * this.parentFrame.unit) + "px";
        //設(shè)置小div的left
        smalldiv.style.left = (((smallarr[i + 1] - 0) + startleft) * this.parentFrame.unit) + "px";
        //保存小div的引用
        this.divs.push(smalldiv);        
        //加入到外部容器
        document.getElementById("MainFrame").appendChild(smalldiv);
      }
      //執(zhí)行自動(dòng)向下移動(dòng)
      //this.parentFrame.intervalid = setInterval(autoMoveDown, this.parentFrame.speed);
    }
    //左移動(dòng)
  this.moveleft = function() {
      //    var canmove = true;
      //    //判斷能否左移動(dòng)
      //    
      //    for(var i=0;i<this.divs.length;i++)
      //    {
      //        var left=parseInt(this.divs[i].style.left); //div目前的left
      //        if(left - this.parentFrame.unit <0) //減去一個(gè)單位的像素是否小于0
      //        {
      //          canmove = false; //不能向左移動(dòng)了
      //          break;
      //        }
      //    }
      if (canMove(this.zb, this.x, this.y, this.parentFrame, 2)) //可以移動(dòng)
      {
        this.x -= 1;
        for (var i = 0; i < this.divs.length; i++) //循環(huán)小div,把每個(gè)div的left減去一個(gè)單位的像素
        {
          var left = parseInt(this.divs[i].style.left);
          this.divs[i].style.left = (left - this.parentFrame.unit) + "px";
        }
      }
    }
    //右移動(dòng)
  this.moveright = function() {
    //    var canmove = true;
    //      //判斷能否右移動(dòng)
    //    for(var i=0;i<this.divs.length;i++)
    //    {
    //      var left=parseInt(this.divs[i].style.left);
    //      if(left + this.parentFrame.unit >=parseInt(this.parentFrame.Content.style.width))
    //      {
    //        canmove = false;
    //        break;
    //      }
    //    }
    var temp = canMove(this.zb, this.x, this.y, this.parentFrame, 1);
//    alert(temp);
    console.log(temp);
    if (canMove(this.zb, this.x, this.y, this.parentFrame, 1)) {
      this.x += 1;
      for (var i = 0; i < this.divs.length; i++) {
        var left = parseInt(this.divs[i].style.left);
        this.divs[i].style.left = (left + this.parentFrame.unit) + "px";
      }
    }
  }
  //變形
  this.change = function() {
    //變形的公式
    //小div的2個(gè)相對(duì)坐標(biāo)點(diǎn)改變  x = y ; y= 3-x; 比如 (0,1) 變化之后 就是  x=1,y=3-0 -> (1,3)
    //循環(huán)4個(gè)小div
    if (!canMove(this.zb, this.x, this.y, this.parentFrame, 4)) {
      if (this.x < 0) {
        this.x += 1;
      } else {
        this.x -= 1;
      }
    }
    for (var i = 0; i < this.divs.length; i++) {
      //根據(jù)公式改變每個(gè)div的相對(duì)偏移量,2個(gè)一改
      var temp = this.zb[i * 2]
      this.zb[i * 2] = this.zb[i * 2 + 1];
      this.zb[i * 2 + 1] = 3 - temp;
      //根據(jù)改變后的偏移量計(jì)算圖形的當(dāng)前l(fā)eft和top
      this.divs[i].style.top = ((this.y + parseInt(this.zb[i * 2])) * this.parentFrame.unit) + "px";
      this.divs[i].style.left = ((this.x + parseInt(this.zb[i * 2 + 1])) * this.parentFrame.unit) + "px";
    }
  }
  this.movedown = function() {
    var $this = this =="window" ? this.frame.samlldiv : this;
    if (canMove($this.zb, $this.x, $this.y, $this.parentFrame, 3)) {
      $this.y += 1;
      for (var i = 0; i < $this.divs.length; i++) {
        var top = parseInt($this.divs[i].style.top);
        $this.divs[i].style.top = (top + $this.parentFrame.unit) + "px";
      }
      return false;
    } else {
      clearInterval($this.parentFrame.intervalid);
//      var temp = $this.parentFrame.Content.getElementsByTagName("div");
      for (var i=0;i<$this.divs.length;i++) {
        //div變灰
        //$this.divs[i].className ="smallDivblack";
        var $y = $this.y + parseInt($this.zb[i*2]);
        var $x = $this.x+parseInt($this.zb[i*2+1]);
//        debugger;
        $this.parentFrame.datas[$y*$this.parentFrame.row+ $x] =1;
        $this.divs[i].dataset.row=$y;  //記錄div所在的行
        $this.divs[i].dataset.col=$x;  //記錄div所在的列
        $this.divs[i].className="smallDivblack";
        $this.divs[i].style.backgroundColor="black";
        //$this.parentFrame.datas[]
      }
        //消行并計(jì)分
        for (var i= 0;i<$this.parentFrame.col;i++) {    //i為行
          //判斷是否滿足消行條件
          for (var j=0;j<$this.parentFrame.row;j++) {    //j為列
            if($this.parentFrame.datas[i*$this.parentFrame.row+ j] !=1){
              break;
            }
          }
          //消行,將該行上面的所有div下移一行
          if(j==$this.parentFrame.row){
            var x;    //記錄div在哪一列
            var y;    //記錄div在哪一行
            var getsmalldiv=document.getElementById("TFrime").getElementsByClassName("smallDivblack");//得到小div
            for (var a=0;a<getsmalldiv.length;a++){
              y=parseInt(getsmalldiv[a].dataset.row);
              x=parseInt(getsmalldiv[a].dataset.col);
              if(y==i){    //消除該行
                debugger;
                $this.parentFrame.datas[y*$this.parentFrame.row+ x]=0;
                getsmalldiv[a].remove();
                a--;
              }
            }
            for (var a=i-1;a>0;a--) {
              for (var b=0;b<getsmalldiv.length;b++) {
                y=parseInt(getsmalldiv[b].dataset.row);
                x=parseInt(getsmalldiv[b].dataset.col);
                if(y==a){    //將上面的div下移一行
//                debugger;
                var divtop=parseInt(getsmalldiv[b].style.top);
                getsmalldiv[b].style.top=(divtop+$this.parentFrame.unit)+"px";
                getsmalldiv[b].dataset.row++;
                $this.parentFrame.datas[y*$this.parentFrame.row+ x]=0;
                $this.parentFrame.datas[(y+1)*$this.parentFrame.row+ x]=1;
                }
              }
            }
            $this.line++;
//            for (var a=0;a<getsmalldiv.length;a++) {
//              y=parseInt(getsmalldiv[a].dataset.row);
//              x=parseInt(getsmalldiv[a].dataset.col);
////              alert(getsmalldiv[a].dataset.row);
//              if(y<i){    //將上面的div下移一行
////                debugger;
//                var divtop=parseInt(getsmalldiv[a].style.top);
////                alert(getsmalldiv[a].style.top);
//                getsmalldiv[a].style.top=(divtop+$this.parentFrame.unit)+"px";
//                getsmalldiv[a].dataset.row++;
//                debugger;
//                $this.parentFrame.datas[y*$this.parentFrame.row+ x]=0;
//                $this.parentFrame.datas[(y+1)*$this.parentFrame.row+ x]=1;
//              }
////              }else if(y==i){    //消除該行
////                debugger;
////                $this.parentFrame.datas[y*$this.parentFrame.row+ x]=0;
////                getsmalldiv[a].className="MainFramediv";
////              }
//            }
          }
        }
      return true;
    }
  }
//  function autoMoveDown() {
//    
//    var small = this.frame.samlldiv;
//    var f = this.frame;
//    
//    if (canMove(small.zb, small.x, small.y, 0, f.col, 3)) {
//      small.y += 1;
//      for (var i = 0; i < small.divs.length; i++) {
//        var top = parseInt(small.divs[i].style.top);
//        small.divs[i].style.top = (top + f.unit) + "px";
//      }
//    } else {
//      clearInterval(f.intervalid);
//    }
//
//  }
  //預(yù)判能否移動(dòng)或變化,action:1.右移,2.左移,3.下移,4.變化
  //zb是4個(gè)小圖形的相對(duì)偏移,x是圖形左偏移,y是top偏移,f是外部frame
  function canMove(zb, x, y, f, action) {
    //datas[parseInt(zb[i + 1]) + x + 1)+(this.y-1)*row] !=0
    switch (action) {
      case 1:
//        debugger;
        for (var i = 0; i < zb.length; i += 2) {
          if (parseInt(zb[i + 1]) + x + 1 >= f.row)
          {
            return false;
          }else if(f.datas[(parseInt(zb[i + 1]) + x + 1)+(y+parseInt(zb[i]))*f.row] !=0)
          {
            return false;
          }
        }
        break;
      case 2:
        for (var i = 0; i < zb.length; i += 2) {
          if (parseInt(zb[i + 1]) + x - 1 < 0 ) {
            return false;
          }else if(f.datas[(parseInt(zb[i + 1]) + x - 1)+(y+parseInt(zb[i]))*f.row] !=0)
          {
            return false;
          }
        }
        break;
      case 3:
        for (var i = 0; i < zb.length; i += 2) {
          if (parseInt(zb[i]) + y + 1 >= f.col ||
          f.datas[(parseInt(zb[i + 1]) + x)+(parseInt(zb[i]) + y+1)*f.row] !=0) {
            return false;
          }
        }
        break;
      case 4:
        for (var i = 0; i < zb.length; i += 2) {
          var temp = 3 - zb[i];
          if (temp + x < 0 || temp + x >= f.row) {
            return false;
          }
        }
        break;
    }
    return true;
  }
  this.rescore=function(){
    var gamescore=document.getElementById("score");
    gamescore.innerHTML=parseInt(gamescore.innerHTML)+this.parentFrame.score[this.line];
  }
}

 index.js

var frame;
function initGame()
{
  frame = new GameFrame(16,20,38);
  frame.init();
  document.body.addEventListener("keydown",MoveOrChange)
}
function changespeed(){
  frame.changespeed();
}
function regame(){
  location.reload();
}
function MoveOrChange()
{
  switch(event.keyCode)
  {
    case 38: //變形(上方向鍵)
      frame.Change();
      break;
    case 37: //左移動(dòng)
      frame.MoveLeft();
      break;
    case 39://右移動(dòng)
      frame.MoveRight();
      break;
    case 40: //向下
      frame.MoveDown();
      break;
  }
}

總結(jié)

以上所述是小編給大家介紹的使用JS代碼實(shí)現(xiàn)俄羅斯方塊游戲,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 微信小程序 this.triggerEvent()的具體使用

    微信小程序 this.triggerEvent()的具體使用

    這篇文章主要介紹了微信小程序 this.triggerEvent()的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 原生javascript實(shí)現(xiàn)的一個(gè)簡(jiǎn)單動(dòng)畫(huà)效果

    原生javascript實(shí)現(xiàn)的一個(gè)簡(jiǎn)單動(dòng)畫(huà)效果

    下面小編就為大家?guī)?lái)一篇原生javascript實(shí)現(xiàn)的一個(gè)簡(jiǎn)單動(dòng)畫(huà)效果。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-03-03
  • 微信小程序?qū)崿F(xiàn)吸頂效果

    微信小程序?qū)崿F(xiàn)吸頂效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)吸頂效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • Js實(shí)現(xiàn)累加上漂浮動(dòng)畫(huà)示例

    Js實(shí)現(xiàn)累加上漂浮動(dòng)畫(huà)示例

    這篇文章主要為大家介紹了Js實(shí)現(xiàn)累加上漂浮動(dòng)畫(huà)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Javascript 函數(shù)中的參數(shù)使用分析

    Javascript 函數(shù)中的參數(shù)使用分析

    關(guān)于JS中的函數(shù),相信大家已經(jīng)很了解了,其中有些特性呢,感覺(jué)還是值得提一提的,下面就說(shuō)說(shuō)JS中的函數(shù)吧。
    2010-03-03
  • Web開(kāi)發(fā)必知Javascript技巧大全

    Web開(kāi)發(fā)必知Javascript技巧大全

     JavaScript是一個(gè)絕冠全球的編程語(yǔ)言,可用于Web開(kāi)發(fā)、移動(dòng)應(yīng)用開(kāi)發(fā)(PhoneGap、Appcelerator)、服務(wù)器端開(kāi)發(fā)(Node.js和Wakanda)等等,通過(guò)本文給大家介紹Web開(kāi)發(fā)必知Javascript技巧大全,需要的朋友參考下吧
    2016-02-02
  • js實(shí)現(xiàn)獲取div坐標(biāo)的方法

    js實(shí)現(xiàn)獲取div坐標(biāo)的方法

    這篇文章主要介紹了js實(shí)現(xiàn)獲取div坐標(biāo)的方法,通過(guò)調(diào)用jQuery插件實(shí)現(xiàn)獲取div元素坐標(biāo)的功能,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-11-11
  • 幾個(gè)有趣的Javascript Hack

    幾個(gè)有趣的Javascript Hack

    在網(wǎng)上看到幾個(gè)有意思的Javascript代碼,和大家分享一下。直接將代碼拷貝到IE中即可,注意代碼為一樣。不可分行
    2010-07-07
  • JS實(shí)現(xiàn)的JSON序列化操作簡(jiǎn)單示例

    JS實(shí)現(xiàn)的JSON序列化操作簡(jiǎn)單示例

    這篇文章主要介紹了JS實(shí)現(xiàn)的JSON序列化操作,結(jié)合簡(jiǎn)單實(shí)例形式分析了json序列化操作相關(guān)實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),代碼備有較為詳盡的注釋便于理解,需要的朋友可以參考下
    2018-07-07
  • JS中常用的輸出方式(五種)

    JS中常用的輸出方式(五種)

    這篇文章主要介紹了JS中常用的輸出方式(五種)的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06

最新評(píng)論