精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何通過html+css樣式和js的方式實現星星圖的效果

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-24 18:13 ? 次閱讀

一、前言

在瀏覽一些圖片網站的時候,經常會看到很多的漂亮的星空圖,比如,下面的圖片。其實這種星星圖片的效果,也可以通過html+css樣式和js的方式來實現。今天教大家如何實現星星圖的效果。

二、項目準備

軟件:Dreamweaver

三、實現的目標

每次刷新產生隨機的星星個數。顯示畫布上。

四、項目實現

1. 創建canvas畫布<body> <canvas id='canvas'></canvas></body>2. 添加css樣式。

給canva 畫布加上邊框,方便觀察。

<style type="text/css"> canvas{ border:2px solid #f00;}</style>3.添加js樣式
3.1 設置canvas畫布大小 ,定義需要變量。<script type="text/javascript"> var _canvas=document.getElementById("canvas") _canvas.width=500; _canvas.height=500;var r,g ,b,a;</script>3.2 產生隨機圓。
for (var j = 0; j < 150; j++) { arc.x=Math.floor(Math.random()*_canvas.width); arc.y=Math.floor(Math.random()*_canvas.height); arc.r=Math.floor(Math.random()*31+10); r=Math.ceil(Math.random()*256); g=Math.ceil(Math.random()*256); b=Math.ceil(Math.random()*256); a=Math.random();
darw();}3.3 定義draw()方法,通過畫星星公式,將圓形轉換成星星狀 for 循環產生隨機位置星星。

如何畫星星?(公式解析)(圖片來源百度)

星星有內切圓和外切圓,每兩個點之間的角度是固定的,因此可得到星星的每個點的坐標,畫出星星。

隨機產生星星for (var i = 0; i < 5; i++) {
_ctx.lineTo(Math.cos((18+72*i)/180*Math.PI)*arc.r+arc.x, -Math.sin((18+72*i)/180*Math.PI)*arc.r+arc.y);
_ctx.lineTo(Math.cos((54+72*i)/180*Math.PI)*arc.r/2+arc.x, -Math.sin((54+72*i)/180*Math.PI)*arc.r/2+arc.y); }3.4 隨機產生顏色。

Math函數隨機產生0-225的RGB值。

隨機顏色 _ctx.fillStyle="rgba(" + r + "," + g + "," + b + "," + a + ")"; _ctx.fill(); _ctx.strokeStyle="rgba(" + r + "," + g + "," + b + "," + a + ")"; _ctx.stroke(); }3.5. 調用draw()方法實現功能。
darw();


審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • javascript
    +關注

    關注

    0

    文章

    516

    瀏覽量

    53793
  • Canvas
    +關注

    關注

    0

    文章

    16

    瀏覽量

    10974
收藏 人收藏

    評論

    相關推薦

    Taro 鴻蒙技術內幕系列(二):如何讓 W3C 標準的 CSS跑在鴻蒙上

    HarmonyOS 采用自研的 ArkUI 框架作為原生 UI 開發方案,這套方案有完善的布局系統和樣式控制,但是他的標準與 W3C 的 CSS 標準存在不一致性。這意味著,如果 Taro 直接
    的頭像 發表于 10-31 10:54 ?120次閱讀
    Taro 鴻蒙技術內幕系列(二):如何讓 W3C 標準的 <b class='flag-5'>CSS</b>跑在鴻蒙上

    研發都應該了解的如何在vite中接入現代化css工程化方案

    好的css工程化方案可以增強我們項目的可維護性、提高樣式的復用性、進行自動化處理等,在提高頁面加載速度和性能的同時,我們可以有更多的精力進行js邏輯的處理。
    的頭像 發表于 10-25 17:25 ?296次閱讀

    JS實現簡單的屏幕錄像機

    作者:京東保險 張潔 本文將介紹如何用JS實現簡單的屏幕錄像機。 一、錄制準備 創建一個按鈕 ? Start recording ? 書寫JavaScript ? var
    的頭像 發表于 10-09 15:27 ?111次閱讀

    鴻蒙跨端實踐-JS虛擬機架構實現

    類似的框架,我們需要自行實現以確保核心基礎能力的完整。 鴻蒙虛擬機的開發經歷了從最初 ArkTs2V8 到 JSVM + Roma新架構方案 。在此過程中,我們實現了完整的鴻蒙版的“J2V8”和 基于系統JSVM的JS虛擬機框架
    的頭像 發表于 09-30 14:42 ?2327次閱讀
    鴻蒙跨端實踐-<b class='flag-5'>JS</b>虛擬機架構<b class='flag-5'>實現</b>

    推薦一個支持js的嵌入式設備開發平臺

    可以通過vscode開發js,實時推送js代碼到設備里運行,無需編譯,支持屏幕,感興趣的可以看看 https://github.com/duoxianwulian/dxdop 提供很多js
    發表于 09-04 14:04

    bootstrap框架和vue框架的區別

    響應式移動優先的網頁。Bootstrap的核心設計理念是“移動優先”,即優先考慮移動設備的顯示效果,然后通過媒體查詢等技術實現對不同設備的適配。Bootstrap提供了一套豐富的CSS
    的頭像 發表于 07-11 09:55 ?773次閱讀

    芯海應用筆記:CSS34P16P(A)型應用說明文檔

    Type-C 和 USB 供電端口控制解決方案。芯片可根據用戶需求靈活配置,操作簡便, 可快速實現方案功能。*附件:CSS34P16應用說明文檔.pdf
    發表于 05-16 14:46

    Arm新Arm Neoverse計算子系統(CSS):Arm Neoverse CSS V3和Arm Neoverse CSS N3

    Arm宣布了兩款新的Arm Neoverse計算子系統(CSS),它們基于“迄今為止最好的一代Neoverse技術”。是什么讓這些新產品在擁擠的計算技術領域脫穎而出? Arm的兩個新Arm
    的頭像 發表于 04-24 17:53 ?988次閱讀
    Arm新Arm Neoverse計算子系統(<b class='flag-5'>CSS</b>):Arm Neoverse <b class='flag-5'>CSS</b> V3和Arm Neoverse <b class='flag-5'>CSS</b> N3

    鴻蒙ArkTS的起源和簡介

    交互問題,它和HTML(負責頁面內容)、CSS(負責頁面布局和樣式)共同組成了Web頁面/應用開發的基礎。隨著Web和瀏覽器的普及,以及Node.js進一步將
    發表于 01-16 16:23

    Facebook開源StyleX如何在JavaScript中寫CSS呢?

    Meta(原 Facebook)開源了全新的 CSS-in-JS 庫 StyleX。
    的頭像 發表于 12-14 10:03 ?673次閱讀

    javascript屬于前端嗎

    和動態性。 JavaScript通常被認為是前端開發的基礎。前端開發包括網頁的設計和開發,以及通過HTMLCSS和JavaScript來實現網頁的用戶界面和交互。
    的頭像 發表于 12-03 11:43 ?1377次閱讀

    placeholder樣式設置

    在網頁設計中,placeholder樣式設置是一個重要的細節,能夠提升用戶體驗并增加頁面的美觀度。本文將詳細解析placeholder樣式設置的相關知識,并提供一些實用的技巧和方法。 一
    的頭像 發表于 11-30 10:33 ?1371次閱讀

    如何設置placeholder的樣式

    要設置placeholder(占位符)的樣式,可以使用CSS樣式實現。以下是一些常用的方法: 使用::placeholder偽元素: 可以使用 ::placeholder 偽元素選擇
    的頭像 發表于 11-30 10:20 ?7004次閱讀

    js文件可以直接瀏覽器運行嗎

    載和運行。 在Web開發中,JS常被用于實現動態交互效果和頁面邏輯控制。通過JS代碼嵌入到網頁的HTM
    的頭像 發表于 11-27 16:45 ?3878次閱讀

    怎么用js保存數據

    JS保存數據是Web開發中非常重要的一個功能,它能夠將用戶的輸入或者其他數據存儲在瀏覽器中,隨后方便地讀取和使用。在本文中,我們將討論不同的數據保存方式以及如何使用JS在客戶端中實現
    的頭像 發表于 11-27 16:10 ?998次閱讀