国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
JavaScript代碼
Rumah hujung hadapan web Tutorial H5 HTML5超炫酷粒子效果的進(jìn)度條圖文代碼詳細(xì)介紹

HTML5超炫酷粒子效果的進(jìn)度條圖文代碼詳細(xì)介紹

Mar 30, 2017 am 10:37 AM
html5

這是一款基于HTML5JavaScript進(jìn)度條應(yīng)用,這款進(jìn)度條插件非常有特點(diǎn),它在進(jìn)度展示的時候呈現(xiàn)粒子的動畫效果,也就是說,進(jìn)度條在滑動的同時,會產(chǎn)生一些小粒子掉落下來,效果非??帷A硗膺€有一個特點(diǎn)是隨著進(jìn)度的變化,進(jìn)度條的顏色也會變化。

JavaScript代碼

/*========================================================*/  
/* Light Loader
/*========================================================*/
var lightLoader = function(c, cw, ch){

	var _this = this;
	this.c = c;
	this.ctx = c.getContext('2d');
	this.cw = cw;
	this.ch = ch;			

	this.loaded = 0;
	this.loaderSpeed = .6;
	this.loaderHeight = 10;
	this.loaderWidth = 310;				
	this.loader = {
		x: (this.cw/2) - (this.loaderWidth/2),
		y: (this.ch/2) - (this.loaderHeight/2)
	};
	this.particles = [];
	this.particleLift = 180;
	this.hueStart = 0
	this.hueEnd = 120;
	this.hue = 0;
	this.gravity = .15;
	this.particleRate = 4;	

	/*========================================================*/	
	/* Initialize
	/*========================================================*/
	this.init = function(){
		this.loop();
	};

	/*========================================================*/	
	/* Utility Functions
	/*========================================================*/				
	this.rand = function(rMi, rMa){return ~~((Math.random()*(rMa-rMi+1))+rMi);};
	this.hitTest = function(x1, y1, w1, h1, x2, y2, w2, h2){return !(x1 + w1 < x2 || x2 + w2 < x1 || y1 + h1 < y2 || y2 + h2 < y1);};

	/*========================================================*/	
	/* Update Loader
	/*========================================================*/
	this.updateLoader = function(){
		if(this.loaded < 100){
			this.loaded += this.loaderSpeed;
		} else {
			this.loaded = 0;
		}
	};

	/*========================================================*/	
	/* Render Loader
	/*========================================================*/
	this.renderLoader = function(){
		this.ctx.fillStyle = &#39;#000&#39;;
		this.ctx.fillRect(this.loader.x, this.loader.y, this.loaderWidth, this.loaderHeight);

		this.hue = this.hueStart + (this.loaded/100)*(this.hueEnd - this.hueStart);

		var newWidth = (this.loaded/100)*this.loaderWidth;
		this.ctx.fillStyle = &#39;hsla(&#39;+this.hue+&#39;, 100%, 40%, 1)&#39;;
		this.ctx.fillRect(this.loader.x, this.loader.y, newWidth, this.loaderHeight);

		this.ctx.fillStyle = &#39;#222&#39;;
		this.ctx.fillRect(this.loader.x, this.loader.y, newWidth, this.loaderHeight/2);
	};	

	/*========================================================*/	
	/* Particles
	/*========================================================*/
	this.Particle = function(){					
		this.x = _this.loader.x + ((_this.loaded/100)*_this.loaderWidth) - _this.rand(0, 1);
		this.y = _this.ch/2 + _this.rand(0,_this.loaderHeight)-_this.loaderHeight/2;
		this.vx = (_this.rand(0,4)-2)/100;
		this.vy = (_this.rand(0,_this.particleLift)-_this.particleLift*2)/100;
		this.width = _this.rand(1,4)/2;
		this.height = _this.rand(1,4)/2;
		this.hue = _this.hue;
	};

	this.Particle.prototype.update = function(i){
		this.vx += (_this.rand(0,6)-3)/100; 
		this.vy += _this.gravity;
		this.x += this.vx;
		this.y += this.vy;

		if(this.y > _this.ch){
			_this.particles.splice(i, 1);
		}					
	};

	this.Particle.prototype.render = function(){
		_this.ctx.fillStyle = &#39;hsla(&#39;+this.hue+&#39;, 100%, &#39;+_this.rand(50,70)+&#39;%, &#39;+_this.rand(20,100)/100+&#39;)&#39;;
		_this.ctx.fillRect(this.x, this.y, this.width, this.height);
	};

	this.createParticles = function(){
		var i = this.particleRate;
		while(i--){
			this.particles.push(new this.Particle());
		};
	};

	this.updateParticles = function(){					
		var i = this.particles.length;						
		while(i--){
			var p = this.particles[i];
			p.update(i);											
		};						
	};

	this.renderParticles = function(){
		var i = this.particles.length;						
		while(i--){
			var p = this.particles[i];
			p.render();											
		};					
	};

	/*========================================================*/	
	/* Clear Canvas
	/*========================================================*/
	this.clearCanvas = function(){
		this.ctx.globalCompositeOperation = &#39;source-over&#39;;
		this.ctx.clearRect(0,0,this.cw,this.ch);					
		this.ctx.globalCompositeOperation = &#39;lighter&#39;;
	};

	/*========================================================*/	
	/* Animation Loop
	/*========================================================*/
	this.loop = function(){
		var loopIt = function(){
			requestAnimationFrame(loopIt, _this.c);
			_this.clearCanvas();

			_this.createParticles();

			_this.updateLoader();
			_this.updateParticles();

			_this.renderLoader();
			_this.renderParticles();

		};
		loopIt();					
	};

};

/*========================================================*/	
/* Check Canvas Support
/*========================================================*/
var isCanvasSupported = function(){
	var elem = document.createElement(&#39;canvas&#39;);
	return !!(elem.getContext && elem.getContext(&#39;2d&#39;));
};

/*========================================================*/	
/* Setup requestAnimationFrame
/*========================================================*/
var setupRAF = function(){
	var lastTime = 0;
	var vendors = [&#39;ms&#39;, &#39;moz&#39;, &#39;webkit&#39;, &#39;o&#39;];
	for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x){
		window.requestAnimationFrame = window[vendors[x]+&#39;RequestAnimationFrame&#39;];
		window.cancelAnimationFrame = window[vendors[x]+&#39;CancelAnimationFrame&#39;] || window[vendors[x]+&#39;CancelRequestAnimationFrame&#39;];
	};

	if(!window.requestAnimationFrame){
		window.requestAnimationFrame = function(callback, element){
			var currTime = new Date().getTime();
			var timeToCall = Math.max(0, 16 - (currTime - lastTime));
			var id = window.setTimeout(function() { callback(currTime + timeToCall); }, timeToCall);
			lastTime = currTime + timeToCall;
			return id;
		};
	};

	if (!window.cancelAnimationFrame){
		window.cancelAnimationFrame = function(id){
			clearTimeout(id);
		};
	};
};			

/*========================================================*/	
/* Define Canvas and Initialize
/*========================================================*/
if(isCanvasSupported){
  var c = document.createElement(&#39;canvas&#39;);
  c.width = 400;
  c.height = 100;			
  var cw = c.width;
  var ch = c.height;	
  document.body.appendChild(c);	
  var cl = new lightLoader(c, cw, ch);				

  setupRAF();
  cl.init();
}

?以上就是HTML5超炫酷粒子效果的進(jìn)度條圖文代碼詳細(xì)介紹的內(nèi)容,更多相關(guān)內(nèi)容請關(guān)注PHP中文網(wǎng)(www.miracleart.cn)!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1488
72
Mengendalikan penyambungan semula dan kesilapan dengan acara html5 pelayan-sent. Mengendalikan penyambungan semula dan kesilapan dengan acara html5 pelayan-sent. Jul 03, 2025 am 02:28 AM

Apabila menggunakan HTML5SSE, kaedah untuk menangani penyambungan semula dan kesilapan termasuk: 1. Memahami mekanisme penyambungan semula lalai. Eventsource Retrys 3 saat selepas sambungan terganggu secara lalai. Anda boleh menyesuaikan selang melalui medan semula; 2. Dengar peristiwa ralat untuk menangani kegagalan sambungan atau kesilapan parsing, membezakan jenis ralat dan melaksanakan logik yang sepadan, seperti masalah rangkaian yang bergantung pada penyambungan semula automatik, kesilapan pelayan secara manual melambatkan penyambungan semula, dan kegagalan pengesahan menyegarkan token; 3. Secara aktif mengawal logik penyambungan semula, seperti penutupan secara manual dan membina semula sambungan, menetapkan bilangan maksimum masa semula, menggabungkan navigator.online untuk menilai status rangkaian untuk mengoptimumkan strategi semula. Langkah -langkah ini dapat meningkatkan kestabilan aplikasi dan pengalaman pengguna.

Mengintegrasikan CSS dan JavaScript dengan berkesan dengan struktur HTML5. Mengintegrasikan CSS dan JavaScript dengan berkesan dengan struktur HTML5. Jul 12, 2025 am 03:01 AM

HTML5, CSS dan JavaScript harus digabungkan dengan tag semantik, pesanan pemuatan yang munasabah dan reka bentuk decoupling. 1. Gunakan tag semantik HTML5, seperti meningkatkan kejelasan struktur dan penyelenggaraan, yang kondusif untuk SEO dan akses bebas penghalang; 2. CSS harus diletakkan, gunakan fail luaran dan berpecah oleh modul untuk mengelakkan gaya sebaris dan masalah pemuatan yang tertunda; 3. JavaScript disyorkan untuk diperkenalkan di hadapan, dan gunakan penangguhan atau async untuk memuat secara asynchronously untuk mengelakkan menyekat rendering; 4. Mengurangkan pergantungan yang kuat antara ketiga-tiga, tingkah laku memandu melalui atribut data dan status kawalan nama kelas, dan meningkatkan kecekapan kerjasama melalui spesifikasi penamaan bersatu. Kaedah ini dapat mengoptimumkan prestasi halaman dengan berkesan dan bekerjasama dengan pasukan.

Bagaimana untuk mengawal main balik video dan audio HTML5 menggunakan JavaScript? Bagaimana untuk mengawal main balik video dan audio HTML5 menggunakan JavaScript? Jun 24, 2025 am 12:38 AM

Untuk mengawal main balik video dan audio HTML5 menggunakan JavaScript, menguasai operasi utama berikut untuk mencapai kawalan asas. 1. Mula atau Jeda bermain boleh dicapai melalui kaedah .play () dan .pause (), dan disyorkan untuk mencetuskan melalui interaksi pengguna untuk bersesuaian dengan pelayar mudah alih; 2. Kawal kelantangan dan tetapkan nilai dari 0 hingga 1 melalui atribut kelantangan, dan beralih dengan menetapkan atribut yang diredam kepada Benar atau Salah; 3. Lompat ke masa tertentu untuk bermain, anda boleh menggunakan atribut semasa, yang menyokong tugasan langsung atau meningkatkan atau mengurangkan masa semasa, dan disyorkan untuk menambah pengendalian ralat; 4. Dengarkan perubahan status main balik boleh dicapai melalui peristiwa seperti bermain, jeda, berakhir dan timupdate.

Menerima data masa nyata dengan acara HTML5 Server-SENT (SSE). Menerima data masa nyata dengan acara HTML5 Server-SENT (SSE). Jul 02, 2025 pm 04:46 PM

Server-Sentevents (SSE) adalah penyelesaian ringan yang disediakan oleh HTML5 untuk menolak kemas kini masa nyata kepada penyemak imbas. Ia menyedari komunikasi sehala melalui sambungan HTTP yang panjang, yang sesuai untuk pasaran saham, pemberitahuan dan senario lain. Buat contoh Eventsource dan dengar mesej apabila menggunakan: ConseVentSource = NewEventSource ('/Stream'); eventsource.onMessage = function (event) {console.log ('mesej yang diterima:', event.data);}; Pelayan perlu menetapkan jenis kandungan ke teks/acara

Mengisytiharkan DOCTYPE HTML5 yang betul untuk halaman moden. Mengisytiharkan DOCTYPE HTML5 yang betul untuk halaman moden. Jul 03, 2025 am 02:35 AM

Doctype adalah pernyataan yang memberitahu penyemak imbas yang standard HTML digunakan untuk menghuraikan halaman. Halaman web moden hanya perlu ditulis pada permulaan fail HTML. Fungsinya adalah untuk memastikan bahawa penyemak imbas menjadikan halaman dalam mod standard dan bukannya mod pelik, dan mesti terletak pada baris pertama, tanpa ruang atau komen di hadapannya; Hanya ada satu cara yang betul untuk menulisnya, dan tidak disyorkan untuk menggunakan versi lama atau varian lain; Lain -lain seperti charset, viewport, dan lain -lain harus diletakkan sebahagiannya.

Meningkatkan SEO dengan markup semantik HTML5 dan microdata. Meningkatkan SEO dengan markup semantik HTML5 dan microdata. Jul 03, 2025 am 01:16 AM

Menggunakan tag semantik HTML5 dan microdata dapat meningkatkan SEO kerana ia membantu enjin carian lebih memahami struktur halaman dan makna kandungan. 1. Gunakan tag semantik HTML5 seperti ,,,, dan untuk menjelaskan fungsi blok halaman, yang membantu enjin carian mewujudkan model halaman yang lebih tepat; 2. Tambah data berstruktur microdata untuk menandakan kandungan tertentu, seperti pengarang artikel, tarikh pelepasan, harga produk, dan lain -lain, supaya enjin carian dapat mengenal pasti jenis maklumat dan menggunakannya untuk memaparkan ringkasan media yang kaya; 3. Beri perhatian kepada penggunaan tag yang betul untuk mengelakkan kekeliruan, elakkan tag pendua, uji keberkesanan data berstruktur, kerap mengemas kini untuk menyesuaikan diri dengan perubahan dalam skema.org, dan menggabungkan dengan cara SEO lain untuk mengoptimumkan untuk jangka panjang.

Apakah amalan terbaik untuk menstrukturkan dokumen HTML5? Apakah amalan terbaik untuk menstrukturkan dokumen HTML5? Jun 26, 2025 am 01:03 AM

Untuk membina dokumen HTML5 yang standard dan jelas, amalan terbaik berikut mesti diikuti: 1. Gunakan pengisytiharan jenis dokumen standard; 2. Membina kerangka asas termasuk tiga tag dan memberi perhatian kepada set aksara, tajuk dan lokasi skrip; 3. Gunakan tag semantik seperti, untuk meningkatkan kebolehcapaian dan SEO; 4. Sarang secara munasabah Tahap tajuk untuk memastikan strukturnya jelas dan hanya ada satu per halaman. Langkah -langkah ini membantu meningkatkan kualiti kod, kecekapan kerjasama dan pengalaman pengguna.

Menjelaskan Html5 `` vs `` elements. Menjelaskan Html5 `` vs `` elements. Jul 12, 2025 am 03:09 AM

Ia adalah elemen peringkat blok, sesuai untuk susun atur; Ia adalah elemen sebaris, sesuai untuk membungkus kandungan teks. 1. Secara eksklusif menduduki garis, lebar, ketinggian dan margin boleh ditetapkan, yang sering digunakan dalam susun atur struktur; 2. Tiada garis pecah, saiz ditentukan oleh kandungan, dan sesuai untuk gaya teks tempatan atau operasi dinamik; 3. Apabila memilih, ia harus dihakimi berdasarkan sama ada kandungan memerlukan ruang bebas; 4. Ia tidak boleh bersarang dan tidak sesuai untuk susun atur; 5. Keutamaan diberikan kepada penggunaan label semantik untuk meningkatkan kejelasan struktur dan kebolehcapaian.

See all articles