JS---案例:點擊按鈕搖起來 & 星星閃動 (挺難看的)

来源:https://www.cnblogs.com/jane-panyiyun/archive/2019/12/11/12026494.html
-Advertisement-
Play Games

案例1:點擊按鈕搖起來 思路: 1. 2張圖片,放進div裡面,搖起來的本質是,此div按上下左右的位置和在一定的時間內發生移動 2. 所以用隨機數的概念來實現位置的移動,用setInterval來實現一定的時間區間,前者封裝在後者的處理 函數裡面。最後全部作為點擊按鈕的點擊事件的處理函數 <!DO ...


案例1:點擊按鈕搖起來

 

思路:

1. 2張圖片,放進div裡面,搖起來的本質是,此div按上下左右的位置和在一定的時間內發生移動

2. 所以用隨機數的概念來實現位置的移動,用setInterval來實現一定的時間區間,前者封裝在後者的處理 函數裡面。最後全部作為點擊按鈕的點擊事件的處理函數

 

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>title</title>
  <style>
    img {
      width: 200px;
      height: 200px;
    }

    div {
      position: absolute;
    }
  </style>
</head>

<body>
  <input type="button" value="點擊搖起來" id="btn1" />
  <input type="button" value="停止" id="btn2" />
  <div id="dv">
    <img src="images/tianshi.gif" alt="" />
    <img src="images/bird.png" alt="" />
  </div>
  <script src="common.js"></script>
  <script>
    //div搖動起來,本質是樣式裡面的上下,左右,移動一個隨機值 Math.ramdom
    //並且在一個設定的時間區間內移動 setInterval
    //點擊按鈕搖起來

    my$("btn1").onclick = function () {
      timeId = setInterval(function () {
        //隨機數
        var x = parseInt(Math.random() * 100 + 1);
        var y = parseInt(Math.random() * 100 + 1)
        //設置元素的left和top屬性
        my$("dv").style.left = x + "px";
        my$("dv").style.top = y + "px";
      }, 100);
    };

    my$("btn2").onclick = function () {
      clearInterval(timeId);
    };
  </script>
</body>

</html>

 

效果:

 

 

案例2:星星閃動

思路:

和上個案例基本是同一個原理。這裡都一個對象.innerHTML在div裡面創建了個span, span裡面放了個星星,然後讓星星在範圍更大的隨機數值裡面移動,時間設置短一些。

 

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>title</title>
  <style>
    div {
      width: 600px;
      height: 600px;
      border: 2px solid yellow;
      background-color: black;
      position: relative;
    }

    span {
      font-size: 30px;
      color: yellow;
      position: absolute;
    }
  </style>
</head>

<body>
  <input type="button" value="亮起來" id="btn" />
  <div id="dv"></div>
  <script src="common.js"></script>
  <script>
    my$("btn").onclick = function () {
      setInterval(function () {
        my$("dv").innerHTML = "<span>★</span>";
        var x = parseInt(Math.random() * 600 + 1);
        var y = parseInt(Math.random() * 600 + 1);
        my$("dv").firstElementChild.style.left = x + "px";
        my$("dv").firstElementChild.style.top = y + "px";
      }, 100);
    };
  </script>

</body>

</html>

 

效果:


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 2019-12-11對varchar類型排序問題的解決 在mysql預設order by 只對數字與日期類型可以排序,但對於varchar字元型類型排序好像沒有用了,下麵我來給各位同學介紹varchar類型排序問題如何解決。 現象描述: select * from resultgroup where ...
  • #內連接select * from auth_user u inner join auth_group g on u.id = g.id; #左連接select * from auth_user a left join auth_group b on a.id = b.id; #右連接select ...
  • 問題描述:做scn恢復備庫的測試,吭哧了幾天,今天終於可以記錄一下,遇到了很多坑,作為初學者可以更好地理解DG,主要先關閉備庫,在主庫做歸檔丟失備庫無法同步,備庫產生GAP,然後增量備份恢復備庫,版本:SQL*Plus: Release 11.2.0.4.0 Production on Thu No ...
  • SELECT B.NAME,A.ROW_COUNT FROM SYS.DM_DB_PARTITION_STATS A,SYS.OBJECTS BWHERE A.OBJECT_ID=B.OBJECT_ID AND A.INDEX_ID<=1AND B.TYPE='U'AND A.ROW_COUNT>8 ...
  • 基礎數據所對應的類型不同 在Oracle中有一些基礎類型與Sqlserver中名字一樣,但是所存儲的數據格式不同,Date類型在Oracle中精確到秒,在Sqlserver中只能精確到分 表的結構 Oracle中所有的表都有一個共同的欄位,rowid這是在物理上存在的,記錄了每一條記錄的行位置,ro ...
  • 一、Word、Excel、PPT 展示 1. 微軟Office公開Api介面 如果文檔內容不是很機密或者只是需要實現預覽文檔的話,可以考慮使用微軟的公共Api介面實現。 微軟Office公開Api地址為:https://view.officeapps.live.com/op/view.aspx? 在 ...
  • 混淆導致的數據綁定庫錯誤 問題摘要 AbstractMethodError: abstract method "androidx.databinding.ViewDataBinding androidx.databinding.DataBinderMapper.getDataBinder(andro ...
  • 1.Activity啟動流程 (7.0版本之前) 從startActivity()開始,最終都會調用startActivityForResult() 在該方法裡面會調用Instrumentation.execStartActivity()執行(Instrumentation主要用來監控應用程式和系統 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...