亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁(yè) JS特效 html5特效 HTML5的巖漿動(dòng)畫(huà)背景特效

HTML5的巖漿動(dòng)畫(huà)背景特效

HTML5的巖漿動(dòng)畫(huà)背景特效

HTML5的巖漿動(dòng)畫(huà)背景特效



<頭>
<元字符集=“utf-8”>
可設(shè)定 HTML5 巖漿動(dòng)畫(huà)背景效果的動(dòng)畫(huà)屬性

<風(fēng)格>
@字符集“UTF-8”;
*, *:前, *:之後 {
框大小:邊框框;
}

身體 {
填充:0;
邊距:0;
溢出:隱藏;
字體系列:'Roboto',無(wú)襯線;
}

帆布 {### 寬度:100vw;
高度:100vh;
}

h1 {
位置:絕對(duì);
z 索引: 1;
寬度:100%;
左:0;
頂部:50%;
-webkit-transform: 翻譯Y(-50%);
變換:翻譯Y(-50%);
混合混合模式:覆蓋;
顏色: rgba(0, 0, 0, 0.3);
行高:0;
字體大?。?6px;
字母間距:4px;
文字對(duì)齊:居中;
文字轉(zhuǎn)換:大寫(xiě);
變換:翻譯Y(-50%);
遊標(biāo):指針;
-webkit-transition:顏色 .2s 緩緩出;
過(guò)渡:顏色 .2s 緩入出;
-webkit-用戶選擇:無(wú);
-moz-使用者選擇:無(wú);
-ms-用戶選擇:無(wú);
使用者選擇:無(wú);
}
h1:懸停{
顏色: rgba(0, 0, 0, 0.8);
}
</風(fēng)格>
</頭>
<內(nèi)文>

<腳本 src="js/chroma.min.js"></腳本>
<腳本 src="js/dat.gui.min.js"></script>

<canvas id="canvas"></canvas>

<h1>地板是熔巖</h1>

<腳本>
'使用嚴(yán)格';

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("無(wú)法將類別作為函數(shù)呼叫"); } }

變數(shù)設(shè)定 = {
振幅X:150,
振幅Y:20,
行數(shù): 30,
開(kāi)始顏色: '#500c44',
結(jié)束顏色:'#b4d455'
};

var c = document.getElementById("canvas");
var ctx = c.getContext("2d");
var winW = window.innerWidth;
var winH = window.innerHeight;
var 路徑 = [];
var 顏色 = [];
var mouseY = 0;
var mouseDown = false;
變數(shù)時(shí)間 = 0;
var 曲線=未定義;
var 速度 = 未定義;

var 路徑 = 函數(shù) () {
函數(shù)路徑(y,顏色){
_classCallCheck(this, 路徑);

這個(gè).y = y;
this.顏色 = 顏色;
this.root = [];
this.create();
this.draw();
}

Path.prototype.create = function create() {
var rootX = 0;
var rootY = this.y;

this.root = [{ x: rootX, y: rootY }];

while (rootX < winW) {
var休閒 = Math.random() > 0.5? 1 : -1;
var x = parseInt(settings.amplitudeX / 2 Math.random() * settings.amplitudeX / 2);
var y = parseInt(rootY Casual * (settings.amplitudeY / 2 Math.random() * settings.amplitudeY / 2));
rootX = x;
var 延遲 = Math.random() * 100;
this.root.push({ x: rootX, y: y, 高度: rootY, 休閒: 休閒, 延遲: 延遲 });
}
};

Path.prototype.draw = 函數(shù)draw() {
ctx.beginPath();
ctx.moveTo(0, winH);

ctx.lineTo(this.root[0].x, this.root[0].y);

for (var i = 1; i < this.root.length - 1; i ) {

var x = this.root[i].x;
var y = this.root[i].y;
var nextX = this.root[i 1].x;
var nextY = this.root[i 1].y;

var xMid = (x nextX) / 2;
var yMid = (y nextY) / 2;
var cpX1 = (xMid x) / 2;
var cpY1 = (yMid y) / 2;
var cpX2 = (xMid nextX) / 2;
var cpY2 = (yMid nextY) / 2;

ctx.quadraticCurveTo(cpX1, y, xMid, yMid);
ctx.quadraticCurveTo(cpX2, nextY, nextX, nextY);
}

var lastPoint = this.root.reverse()[0];
this.root.reverse();
ctx.lineTo(lastPoint.x,lastPoint.y);
ctx.lineTo(winW, winH);
ctx.fillStyle = this.color;
ctx.fill();
ctx.closePath();
};

返迴路徑;
}();

/* 在裡面 */###
var 路徑 = 未定義;
函數(shù) init() {
c.width = winW;
c.高度 = winH;
路徑= [];

color = chroma.scale([settings.startColor, settings.endColor]).mode('lch').colors(settings.lines);

document.body.style = '背景:' settings.startColor;

for (var i = 0; i < settings.lines; i ) {
Paths.push(new Path(winH / settings.lines * i, color[i]));
settings.startY = winH / settings.lines * i;
}
}

/* 獲勝調(diào)整大小 */
window.addEventListener('調(diào)整大小', function () {
winW = window.innerWidth;
winH = window.innerHeight;
c.width = winW;
c.高度 = winH;
在裡面();### });
window.dispatchEvent(new Event("resize"));

/* 使成為 */### 函數(shù)渲染(){
c.width = winW;
c.高度 = winH;

曲線=滑鼠按下? 2:4;
速度 = 滑鼠按下? 6 : 0.8;

時(shí)間=滑鼠按下? 0.1 : 0.05;

Paths.forEach(函數(shù)(路徑, i) {
path.root.forEach(函數(shù) (r, j) {
if (j % 曲線 == 1) {
var move = Math.sin(time r.delay) * 速度 * r.casual;
r.y -= 移動(dòng) / 2 - 移動(dòng);
}
if (j 1 % 曲線 == 0) {
var move = Math.sin(time r.delay) * 速度 * r.casual;
r.x = 移動(dòng) / 2 - 移動(dòng) / 10;
}
});

路徑.draw();
});

requestAnimationFrame(渲染);
}
使成為();###
/* 滑鼠按下 */
'mousedown touchstart'.split(' ').forEach(function (e) {
document.addEventListener(e, function () {
滑鼠按下 = true;
});
});

/* 滑鼠放開(kāi) */
'mouseup mouseleave touchend'.split(' ').forEach(function (e) {
document.addEventListener(e, function () {
滑鼠按下=假;
});
});

/* 滑鼠移動(dòng) */
'mousemove touchmove'.split(' ').forEach(function (e) {
document.addEventListener(e, 函數(shù) (e) {
mouseY = e.clientY || e.touches[0].clientY;
# });
});

/* 資料圖形使用者介面 */
var gui = 函數(shù) datgui() {
var gui = new dat.GUI();
// dat.GUI.toggleHide();
gui.close = true;
gui.add(settings, "amplitudeX", 40, 200).step(20).onChange(function (newValue) {
在裡面();### });
gui.add(settings, "amplitudeY", 0, 100).step(1).onChange(function (newValue) {
在裡面();### });
gui.add(settings, "lines", 5, 50).step(1).onChange(function (newValue) {
在裡面();### });
gui.addColor(settings, "startColor").onChange(function (newValue) {

在裡面();### document.querySelector('h1').innerHTML = '或你想要的任何內(nèi)容';
});
? gui.addColor(settings, "endColor").onChange(function (newValue) {
? ? init();
? ? document.querySelector('h1').innerHTML = 'or whatever you want';
? });

? return gui;
}();
</script>

</body>
</html>

這是一款不錯(cuò)的可設(shè)定動(dòng)畫(huà)屬性的HTML5巖漿動(dòng)畫(huà)背景特效,展開(kāi)網(wǎng)頁(yè)右頂部選單便可設(shè)定動(dòng)畫(huà)動(dòng)畫(huà)幅度、色彩等屬性。

免責(zé)聲明

本站所有資源皆由網(wǎng)友貢獻(xiàn)或各大下載網(wǎng)站轉(zhuǎn)載。請(qǐng)自行檢查軟體的完整性!本站所有資源僅供學(xué)習(xí)參考。請(qǐng)不要將它們用於商業(yè)目的。否則,一切後果都由您負(fù)責(zé)!如有侵權(quán),請(qǐng)聯(lián)絡(luò)我們刪除。聯(lián)絡(luò)方式:admin@php.cn

相關(guān)文章

使用HTML5視頻和音頻有效地流媒體。 使用HTML5視頻和音頻有效地流媒體。

02 Jul 2025

tostreammedia效率與html5,usecatibleformatslikemp4andwebmforvideoandmp3oroggforaudio.1)compressFilesBeforeUploAdingingingToolslabrakeorabrakeorabrakeorabrakeOraudaceTobalanceTobalanceQuelySize.2)

如何使用HTML5多填充來(lái)支持較舊的瀏覽器? 如何使用HTML5多填充來(lái)支持較舊的瀏覽器?

17 Mar 2025

文章討論了使用HTML5多填充物來(lái)支持較舊的瀏覽器,詳細(xì)的步驟,最佳實(shí)踐,共同特徵和測(cè)試方法,以進(jìn)行有效實(shí)施。

HTML5目標(biāo):快速入門(mén)指南 HTML5目標(biāo):快速入門(mén)指南

18 May 2025

html5 aimstoimprovewebaccctible,效率,效率和互動(dòng)forbothusersanddevelopers.1)itreducestheneed forexternalpluginsbysupportingnativemultia.2)itenhancessemanticsemantscontrents structions structions newElements,改進(jìn)SeooandCodeDeareade.3 Itmandernabily.3)

如何在 HTML5 本機(jī)和會(huì)話儲(chǔ)存中儲(chǔ)存和檢索複雜的 JavaScript 物件? 如何在 HTML5 本機(jī)和會(huì)話儲(chǔ)存中儲(chǔ)存和檢索複雜的 JavaScript 物件?

28 Dec 2024

HTML5 中物件的儲(chǔ)存本機(jī)和會(huì)話儲(chǔ)存查詢:HTML5 的 localStorage 和 sessionStorage 能夠有效儲(chǔ)存原始資料...

在 HTML5 中的標(biāo)題標(biāo)籤內(nèi)使用段落元素是否有效? 在 HTML5 中的標(biāo)題標(biāo)籤內(nèi)使用段落元素是否有效?

12 Nov 2024

HTML5 的標(biāo)題標(biāo)籤內(nèi)段落元素標(biāo)記是否有效?

為什麼我的 HTML5 圖像有神秘的 3px 底部邊距? 為什麼我的 HTML5 圖像有神秘的 3px 底部邊距?

19 Dec 2024

HTML5 之謎:圖片出現(xiàn)意外的邊距考慮將網(wǎng)站轉(zhuǎn)換為 HTML5 時(shí)遇到的一個(gè)特殊問(wèn)題。沒(méi)想到,每...

HTML5:現(xiàn)代網(wǎng)絡(luò)的基礎(chǔ)(H5) HTML5:現(xiàn)代網(wǎng)絡(luò)的基礎(chǔ)(H5)

21 Apr 2025

HTML5是超文本標(biāo)記語(yǔ)言的最新版本,由W3C標(biāo)準(zhǔn)化。 HTML5引入了新的語(yǔ)義化標(biāo)籤、多媒體支持和表單增強(qiáng),提升了網(wǎng)頁(yè)結(jié)構(gòu)、用戶體驗(yàn)和SEO效果。 HTML5引入了新的語(yǔ)義化標(biāo)籤,如、、、等,使網(wǎng)頁(yè)結(jié)構(gòu)更清晰,SEO效果更好。 HTML5支持多媒體元素和,無(wú)需第三方插件,提升了用戶體驗(yàn)和加載速度。 HTML5增強(qiáng)了表單功能,引入了新的輸入類型如、等,提高了用戶體驗(yàn)和表單驗(yàn)證效率。

如何在HTML5本地儲(chǔ)存中實(shí)現(xiàn)過(guò)期時(shí)間? 如何在HTML5本地儲(chǔ)存中實(shí)現(xiàn)過(guò)期時(shí)間?

29 Oct 2024

HTML5 本機(jī)儲(chǔ)存中的持久性資料:限制和替代方案HTML5 中的 DOM 存儲(chǔ),特別是本地存儲(chǔ),提供了一種方便的...

如何使用 CSS 停用特定按鈕上的滑鼠懸停效果? 如何使用 CSS 停用特定按鈕上的滑鼠懸停效果?

27 Nov 2024

禁用特定按鈕上的滑鼠懸停效果使用 CSSAiming 禁用網(wǎng)頁(yè)中特定按鈕的滑鼠懸停效果,您...

See all articles See all articles

熱工具

HTML5 Canvas愛(ài)心飄動(dòng)動(dòng)畫(huà)特效

HTML5 Canvas愛(ài)心飄動(dòng)動(dòng)畫(huà)特效

HTML5 Canvas愛(ài)心飄動(dòng)動(dòng)畫(huà)特效是一款直接用瀏覽器開(kāi)啟可以看到一顆心的生成動(dòng)畫(huà)。

H5熊貓彈跳小遊戲原始碼

H5熊貓彈跳小遊戲原始碼

html5手機(jī)熊貓也瘋狂小遊戲原始碼。遊戲說(shuō)明:長(zhǎng)按螢?zāi)徽{(diào)整熊貓彈簧的強(qiáng)度,跳到石柱上。掉到河裡遊戲結(jié)束。

html5情人節(jié)盒子動(dòng)畫(huà)特效

html5情人節(jié)盒子動(dòng)畫(huà)特效

基於svg繪製情人節(jié)一個(gè)個(gè)愛(ài)心盒子禮物打開(kāi)動(dòng)畫(huà),愛(ài)心盒子動(dòng)畫(huà)特效。

H5 3D滾球遊戲原始碼

H5 3D滾球遊戲原始碼

html5酷炫3D彩球滾動(dòng)手機(jī)遊戲代碼下載。遊戲介紹:一個(gè)彩色圓球滾動(dòng),透過(guò)滑鼠或手機(jī)觸控螢?zāi)煌弦穪?lái)控制彩球的運(yùn)行當(dāng)前線路軌跡。這是一款簡(jiǎn)單易操作的手機(jī)小遊戲原始碼。