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

基于JS實現(xiàn)小區(qū)樓的電梯運行程序

 更新時間:2025年01月20日 14:13:00   作者:王鐵柱6  
本文介紹了如何使用JavaScript實現(xiàn)一個簡單的小區(qū)樓電梯運行程序,用戶可以通過點擊樓層來選擇目標樓層,并模擬電梯的上下行,文章還提示了如何擴展該程序,例如添加更多樓層、優(yōu)化移動邏輯和添加動畫效果,感興趣的朋友一起看看吧

在前端開發(fā)中,實現(xiàn)一個簡單的小區(qū)樓電梯運行程序可以通過模擬電梯的基本行為來完成。以下是一個使用JavaScript實現(xiàn)的簡單電梯模擬程序,它允許用戶選擇樓層并模擬電梯的上下行。

HTML部分(用于創(chuàng)建用戶界面):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>電梯模擬程序</title>
    <style>
        #elevator {
            width: 100px;
            height: 100px;
            background-color: grey;
            position: absolute;
            left: 50px;
            top: 50px;
            text-align: center;
            line-height: 100px;
            color: white;
        }
        .floor {
            height: 50px;
            width: 100%;
            border-bottom: 1px solid black;
            text-align: center;
            line-height: 50px;
        }
    </style>
</head>
<body>
    <div id="elevator">1</div>
    <div id="floors">
        <div class="floor" onclick="requestFloor(1)">1</div>
        <div class="floor" onclick="requestFloor(2)">2</div>
        <div class="floor" onclick="requestFloor(3)">3</div>
        <!-- 添加更多樓層 -->
    </div>
    <script src="elevator.js"></script>
</body>
</html>

JavaScript部分(用于實現(xiàn)電梯邏輯):

let currentFloor = 1; // 電梯當前所在樓層
let targetFloor = 1; // 電梯目標樓層
const elevator = document.getElementById('elevator'); // 電梯元素
const floors = document.querySelectorAll('.floor'); // 所有樓層元素
let isMoving = false; // 電梯是否正在移動
const moveSpeed = 500; // 電梯移動速度(毫秒)
// 更新電梯顯示樓層
function updateElevatorDisplay() {
    elevator.textContent = currentFloor;
}
// 移動電梯到指定樓層
function moveToFloor(floor) {
    if (isMoving || floor === currentFloor) return; // 如果電梯正在移動或已在目標樓層,則不執(zhí)行移動
    isMoving = true; // 設(shè)置電梯為移動狀態(tài)
    const distance = Math.abs(floor - currentFloor) * 50; // 計算移動距離(每個樓層高度為50px)
    const direction = floor > currentFloor ? 'down' : 'up'; // 判斷移動方向
    const finalTop = 50 + (floor - 1) * 50; // 計算電梯最終位置(頂部偏移量)
    elevator.style.transition = `top ${moveSpeed}ms linear`; // 設(shè)置過渡效果
    elevator.style.top = `${finalTop}px`; // 更新電梯位置
    // 在移動結(jié)束后更新當前樓層和狀態(tài)
    setTimeout(() => {
        currentFloor = floor;
        isMoving = false;
        updateElevatorDisplay();
    }, moveSpeed);
}
// 請求電梯到指定樓層
function requestFloor(floor) {
    if (floor === currentFloor) return; // 如果已在請求樓層,則不執(zhí)行操作
    targetFloor = floor; // 設(shè)置目標樓層
    if (!isMoving) { // 如果電梯當前未移動,則立即開始移動
        moveToFloor(targetFloor);
    } else { // 如果電梯正在移動,則在當前移動結(jié)束后開始新的移動(簡化邏輯,不考慮方向優(yōu)化)
        setTimeout(() => {
            moveToFloor(targetFloor);
        }, moveSpeed);
    }
}

這個簡單的電梯模擬程序允許用戶通過點擊樓層來選擇目標樓層,并模擬電梯的上下行。你可以根據(jù)需要擴展這個程序,例如添加更多樓層、優(yōu)化電梯移動邏輯(考慮同方向連續(xù)移動的情況)、添加電梯門開關(guān)動畫等。

到此這篇關(guān)于請用js實現(xiàn)一個簡單的小區(qū)樓的電梯運行程序的文章就介紹到這了,更多相關(guān)js電梯運行程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript實現(xiàn)圖片懶加載的六種方案

    JavaScript實現(xiàn)圖片懶加載的六種方案

    懶加載是一種對網(wǎng)頁性能優(yōu)化的方式,比如,當訪問一個網(wǎng)頁的時候,優(yōu)先顯示可視區(qū)域的圖片而不是一次加載全部的圖片,當需要顯示時,再發(fā)送請求加載圖片,本文給大家介紹了JavaScript實現(xiàn)圖片懶加載的六種方案,需要的朋友可以參考下
    2025-05-05
  • 如何用CocosCreator制作微信小游戲

    如何用CocosCreator制作微信小游戲

    這篇文章主要介紹了如何用CocosCreator制作微信小游戲,從下載工具到配置,最后連接微信小游戲預覽,一步步很詳細,希望讀者們仔細看一下
    2021-04-04
  • 微信小程序?qū)崿F(xiàn)tab頁面切換功能

    微信小程序?qū)崿F(xiàn)tab頁面切換功能

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)tab頁面切換功能,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • fiv.js實現(xiàn)flv文件blob流實時播放的項目實踐

    fiv.js實現(xiàn)flv文件blob流實時播放的項目實踐

    本文主要介紹了fiv.js實現(xiàn)flv文件blob流實時播放的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • ES6使用新特性Proxy實現(xiàn)的數(shù)據(jù)綁定功能實例

    ES6使用新特性Proxy實現(xiàn)的數(shù)據(jù)綁定功能實例

    這篇文章主要介紹了ES6使用新特性Proxy實現(xiàn)的數(shù)據(jù)綁定功能,結(jié)合具體實例形式分析了ES6使用Proxy實現(xiàn)數(shù)據(jù)綁定具體原理、操作步驟與相關(guān)注意事項,需要的朋友可以參考下
    2020-05-05
  • JS實現(xiàn)至少包含字母、大小寫數(shù)字、字符的密碼等級的兩種方法

    JS實現(xiàn)至少包含字母、大小寫數(shù)字、字符的密碼等級的兩種方法

    這篇文章主要介紹了JS實現(xiàn)至少包含字母、大小寫數(shù)字、字符的密碼等級的兩種方法,可實現(xiàn)有效檢測用戶密碼等級的功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • Js 冒泡事件阻止實現(xiàn)代碼

    Js 冒泡事件阻止實現(xiàn)代碼

    當一個元素上的事件被觸發(fā)的時候,比如說鼠標點擊了一個按鈕,同樣的事件將會在那個元素的所有祖先元素中被觸發(fā)
    2013-01-01
  • js獲取頁面description的方法

    js獲取頁面description的方法

    這篇文章主要介紹了js獲取頁面description的方法,涉及javascript操作頁面元素的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • 一文帶你搞懂JS中六種For循環(huán)的使用

    一文帶你搞懂JS中六種For循環(huán)的使用

    for?循環(huán)是出現(xiàn)最早,也是應用最普遍的一個遍歷,能夠滿足絕大多數(shù)的遍歷??梢员闅v?數(shù)組、對象、字符串。本文將詳細為大家介紹JS中的六種For循環(huán)的使用,需要的可以參考一下
    2022-04-04
  • JavaScript 瀏覽器兼容性總結(jié)及常用瀏覽器兼容性分析

    JavaScript 瀏覽器兼容性總結(jié)及常用瀏覽器兼容性分析

    本文是腳本之家小編日常整理些關(guān)于js兼容性問題,及IE與Firefox等常用瀏覽器的兼容性分析,對js瀏覽器兼容性相關(guān)知識感興趣的朋友一起學習吧
    2016-03-03

最新評論

博白县| 当雄县| 定西市| 广灵县| 清河县| 临夏市| 老河口市| 成都市| 建昌县| 新源县| 色达县| 海门市| 曲松县| 荆门市| 江达县| 肇源县| 黄石市| 亚东县| 龙胜| 姜堰市| 马关县| 中西区| 义马市| 南投市| 牡丹江市| 河池市| 山丹县| 科技| 利辛县| 丹棱县| 景泰县| 七台河市| 东安县| 凌云县| 沅江市| 紫金县| 色达县| 百色市| 梁山县| 平泉县| 盐池县|