


Kemahiran tutorial HTML5 Logo animation_html5 boleh putar 3D berbilang perspektif
Ini ialah kesan khas animasi 3D berdasarkan HTML5 dan CSS3 Berbeza daripada kesan khas 3D sebelumnya, yang ini dilaksanakan sepenuhnya menggunakan ciri HTML5 dan bukannya menindih berbilang gambar. Satu lagi ciri animasi 3D ini ialah ia boleh berputar tanpa had, supaya Logo HTML5 boleh diperhatikan dari pelbagai perspektif.
Demo dalam talian Muat turun kod sumber
Kod HTML
- div kelas="tindanan pautan">
- div>
- kanvas id="kanvas" gaya="warna latar belakang:#ddd">kanvas>
Kod JavaScript
- // ikat pada pengendali beban tetingkap
- window.addEventListener('load', onloadHandler, false);
- /**
- * Pengendali beban tetingkap
- */
- fungsi onloadHandler()
- {
- var kanvas = document.getElementById('canvas');
- canvas.width = window.innerWidth;
- canvas.height = window.innerHeight;
- var k3dmain = baharu K3D.Controller(kanvas, true );
- // menjana objek 3D
- var obj1 = baharu K3D.K3DObject();
- dengan (obj1)
- {
- drawmode = "pepejal";
- mod teduh = "sumber cahaya";
- mod isihan = "tidak diisih";
- addphi = -0.5;
- kira-kira = -90;
- perlevel = 1000;
- init(
- [{x:-80,y:180,z:0},{x:0,y:180,z:-80},{x:0,y:0,z:-80 },{x:-80,y:20,z:0},{x:-50,y:150,z:-30},{x:0,y:150,z:-80},{x :0,y:130,z:-80},{x:-30,y:130,z:-50},{x:-28,y:110,z:-52},{x:0, y:110,z:-80},{x:0,y:90,z:-80},{x:-45,y:90,z:-35},{x:-44,y:80 ,z:-36},{x:-25,y:80,z:-55},{x:-22,y:66,z:-58},{x:0,y:60,z: -80},{x:0,y:40,z:-80},{x:-40,y:50,z:-40}],
- [],
- [{warna:[227,76,38],bucu:[0,1,2,3,0]},{warna:[235,235,235],bucu:[4,5,6,7 ,8,9,10,11,4]},{warna:[235,235,235],bucu:[12,13,14,15,16,17,12]}]
- );
- }
- k3dmain.addK3DObject(obj1);
- var obj2 = baharu K3D.K3DObject();
- dengan (obj2)
- {
- drawmode = "pepejal";
- mod teduh = "sumber cahaya";
- mod isihan = "tidak diisih";
- addphi = -0.5;
- kira-kira = -90;
- perlevel = 1000;
- init(
- [{x:0,y:180,z:-80},{x:80,y:180,z:0},{x:80,y:20,z:0}, {x:0,y:0,z:-80},{x:0,y:165,z:-80},{x:68,y:165,z:-12},{x:55, y:35,z:-25},{x:0,y:20,z:-80},{x:0,y:150,z:-80},{x:50,y:150,z :-30},{x:47,y:130,z:-33},{x:0,y:130,z:-80},{x:0,y:110,z:-80}, {x:45,y:110,z:-35},{x:40,y:50,z:-40},{x:0,y:40,z:-80},{x:0, y:60,z:-80},{x:20,y:66,z:-60},{x:23,y:90,z:-57},{x:0,y:90,z :-80}],
- [],
- [{warna:[227,76,38],bucu:[0,1,2,3,0]},{warna:[240,101,41],bucu:[4,5,6 ,7,4]},{warna:[235,235,235],bucu:[8,9,10,11,8]},{warna:[235,235,235],bucu:[12,13,14,15,16,17 ,18,19,12]}]
- );
- }
- k3dmain.addK3DObject(obj2);
- var obj3 = baharu K3D.K3DObject();
- dengan (obj3)
- {
- drawmode = "pepejal";
- mod teduh = "sumber cahaya";
- mod isihan = "tidak diisih";
- addphi = -0.5;
- kira-kira = -90;
- perlevel = 1000;
- init(
- [{x:80,y:180,z:0},{x:0,y:180,z:80},{x:0,y:0,z:80},{ x:80,y:20,z:0},{x:50,y:150,z:30},{x:0,y:150,z:80},{x:0,y:130, z:80},{x:30,y:130,z:50},{x:28,y:110,z:52},{x:0,y:110,z:80},{x: 0,y:90,z:80},{x:45,y:90,z:35},{x:44,y:80,z:36},{x:25,y:80,z: 55},{x:22,y:66,z:58},{x:0,y:60,z:80},{x:0,y:40,z:80},{x:40, y:50,z:40}],
- [],
- [{warna:[227,76,38],bucu:[0,1,2,3,0]},{warna:[235,235,235],bucu:[4,5,6,7 ,8,9,10,11,4]},{warna:[235,235,235],bucu:[12,13,14,15,16,17,12]}]
- );
- }
- k3dmain.addK3DObject(obj3);
- var obj4 = baharu K3D.K3DObject();
- dengan (obj4)
- {
- drawmode = "pepejal";
- mod teduh = "sumber cahaya";
- mod isihan = "tidak diisih";
- addphi = -0.5;
- kira-kira = -90;
- perlevel = 1000;
- init(
- [{x:0,y:180,z:80},{x:-80,y:180,z:0},{x:-80,y:20,z:0} ,{x:0,y:0,z:80},{x:0,y:165,z:80},{x:-68,y:165,z:12},{x:-55, y:35,z:25},{x:0,y:20,z:80},{x:0,y:150,z:80},{x:-50,y:150,z:30 },{x:-47,y:130,z:33},{x:0,y:130,z:80},{x:0,y:110,z:80},{x:-45 ,y:110,z:35},{x:-40,y:50,z:40},{x:0,y:40,z:80},{x:0,y:60,z: 80},{x:-20,y:66,z:60},{x:-23,y:90,z:57},{x:0,y:90,z:80}],
- [],
- [{warna:[227,76,38],bucu:[0,1,2,3,0]},{warna:[240,101,41],bucu:[4,5,6 ,7,4]},{warna:[235,235,235],bucu:[8,9,10,11,8]},{warna:[235,235,235],bucu:[12,13,14,15,16,17 ,18,19,12]}]
- );
- }
- k3dmain.addK3DObject(obj4);
- var objBase = baharu K3D.K3DObject();
- dengan (objBase)
- {
- drawmode = "pepejal";
- mod teduh = "sumber cahaya";
- mod isihan = "tidak diisih";
- addphi = -0.5;
- kira-kira = -90;
- perlevel = 1000;
- init(
- [{x:0,y:0,z:-80},{x:-80,y:20,z:0},{x:0,y:0,z:80} ,{x:80,y:20,z:0}],
- [],
- [{warna:[227,76,38],bucu:[0,2,1,0]},{warna:[227,76,38],bucu:[0,3,2 ,0]}]
- );
- }
- k3dmain.addK3DObject(objBase);
- var objHtml = baharu K3D.K3DObject();
- dengan (objHtml)
- {
- drawmode = "pepejal";
- mod teduh = "sumber cahaya";
- //sortmode = "unsorted";
- warna = [64,64,64];
- berdua = benar;
- addphi = -0.5;
- kira-kira = 100;
- skala = 0.75;
- perlevel = 1000;
- init(
- [{x:-80,y:40,z:0},{x:-70,y:40,z:0},{x:-70,y:30,z:0 },{x:-60,y:30,z:0},{x:-60,y:40,z:0},{x:-50,y:40,z:0},{x: -50,y:10,z:0},{x:-60,y:10,z:0},{x:-60,y:20,z:0},{x:-70,y: 20,z:0},{x:-70,y:10,z:0},{x:-80,y:10,z:0},{x:-40,y:40,z:0 },{x:-10,y:40,z:0},{x:-10,y:30,z:0},{x:-20,y:30,z:0},{x: -20,y:10,z:0},{x:-30,y:10,z:0},{x:-30,y:30,z:0},{x:-40,y: 30,z:0},{x:0,y:40,z:0},{x:10,y:40,z:0},{x:20,y:30,z:0},{ x:30,y:40,z:0},{x:40,y:40,z:0},{x:40,y:10,z:0},{x:30,y:10, z:0},{x:30,y:30,z:0},{x:20,y:20,z:0},{x:10,y:30,z:0},{x: 10,y:10,z:0},{x:0,y:10,z:0},{x:50,y:40,z:0},{x:60,y:40,z: 0},{x:60,y:20,z:0},{x:80,y:20,z:0},{x:80,y:10,z:0},{x:50, y:10,z:0}],
- [],
- [{vertices:[0,1,2,3,4,5,6,7,8,9,10,11,0]},{vertices:[12,13,14,15 ,16,17,18,19,12]},{vertices:[20,21,22,23,24,25,26,27,28,29,30,31,20]},{vertices:[32 ,33,34,35,36,37,32]}]
- );
- }
- k3dmain.addK3DObject(objHtml);
- // tambah memaparkan gelung panggilan balik
- var ctx = canvas.getContext('2d');
- var putaranOffset = 0;
- var len = (canvas.height > canvas.width ? canvas.height : canvas.width) * 0.7;
- k3dmain.clearBackground = palsu;
- k3dmain.callback = fungsi()
- {
- // secara manual kosongkan bg - kerana kami ingin memberikan beberapa barang tambahan
- ctx.clearRect(0, 0, canvas.width, canvas.height);
- // lukiskan bg kesan sebelum K3D melakukan perenderan 3D nya
- ctx.save();
- ctx.translate(canvas.width/2, canvas.height/2);
- ctx.rotate(rotationOffset);
- // pertama isi pas - sinar luar
- var RAYCOUNT = 24;
- ctx.fillStyle = "#eee";
- ctx.beginPath();
-
untuk (var i=0; i
- {
- // putar konteks
- ctx.rotate(TWOPI / RAYCOUNT);
- ctx.moveTo(0, 0);
- ctx.lineTo(-20, len);
- ctx.lineTo(20, len);
- }
- ctx.closePath();
- ctx.fill();
- // laluan isi kedua - sinar dalaman
- ctx.fillStyle = "#fff";
- ctx.beginPath();
-
untuk (var i=0; i
- {
- // putar konteks
- ctx.rotate(TWOPI / RAYCOUNT);
- ctx.moveTo(0, 0);
- ctx.lineTo(-15, len);
- ctx.lineTo(15, len);
- }
- ctx.closePath();
- ctx.fill();
- ctx.restore();
- putaranOffset = 0.005;
- // gunakan interaksi pengguna pada putaran
-
untuk (var i=0, objs=k3dmain.objects; i
- {
- objs[i].ophi = targetRotationX;
- }
- jika (targetRotationX > -0.5) targetRotationX -= 0.05;
- lain jika (targetRotationX
- jika (targetRotationX > -0.55 && targetRotationX
- };
- // mulakan demo gelung
- k3dmain.pased = benar;
- setInterval(fungsi(){k3dmain.tick()}, 1000/60);
- }
- // nifty drag/touch acara tangkap kod dipinjam dari En Doob http://mrdoob.com/
- var targetRotationX = 0;
- var targetRotationOnMouseDownX = 0;
- var mouseX = 0;
- var mouseXOnMouseDown = 0;
- var targetRotationY = 0;
- var targetRotationOnMouseDownY = 0;
- var tetikus = 0;
- var mouseYOnMouseDown = 0;
- var windowHalfX = window.innerWidth / 2;
- var windowHalfY = window.innerHeight / 2;
- document.addEventListener('mousedown', onDocumentMouseDown, false);
- document.addEventListener('touchstart', onDocumentTouchStart, false);
- document.addEventListener('touchmove', onDocumentTouchMove, false);
- fungsi onDocumentMouseDown( event ) {
- event.preventDefault();
- document.addEventListener('mouseemove', onDocumentMouseMove, false);
- document.addEventListener('mouseup', onDocumentMouseUp, false);
- document.addEventListener('mouseout', onDocumentMouseOut, false);
- mouseXOnMouseDown = event.clientX - windowHalfX;
- targetRotationOnMouseDownX = targetRotationX;
- mouseYOnMouseDown = event.clientY - windowHalfY;
- targetRotationOnMouseDownY = targetRotationY;
- }
- fungsi onDocumentMouseMove( event )
- {
- mouseX = event.clientX - windowHalfX;
- targetRotationX = targetRotationOnMouseDownX (mouseX - mouseXOnMouseDown) * 0.02;
- mouseY = event.clientY - windowHalfY;
- targetRotationY = targetRotationOnMouseDownY (mouseY - mouseYOnMouseDown) * 0.02;
- }
- Funktion onDocumentMouseUp( event )
- {
- document.removeEventListener('mousemove', onDocumentMouseMove, false);
- document.removeEventListener('mouseup', onDocumentMouseUp, false);
- document.removeEventListener('mouseout', onDocumentMouseOut, false);
- }
- Funktion onDocumentMouseOut( event )
- {
- document.removeEventListener('mousemove', onDocumentMouseMove, false);
- document.removeEventListener('mouseup', onDocumentMouseUp, false);
- document.removeEventListener('mouseout', onDocumentMouseOut, false);
- }
- Funktion onDocumentTouchStart( event )
- {
- if (event.touches.length == 1)
- {
- event.preventDefault();
- mouseXOnMouseDown = event.touches[0].pageX - windowHalfX;
- targetRotationOnMouseDownX = targetRotationX;
- mouseYOnMouseDown = event.touches[0].pageY - windowHalfY;
- targetRotationOnMouseDownY = targetRotationY;
- }
- }
- Funktion onDocumentTouchMove( event )
- {
- if (event.touches.length == 1)
- {
- event.preventDefault();
- mouseX = event.touches[0].pageX - windowHalfX;
- targetRotationX = targetRotationOnMouseDownX (mouseX - mouseXOnMouseDown) * 0,05;
- mouseY = event.touches[0].pageY - windowHalfY;
- targetRotationY = targetRotationOnMouseDownY (mouseX - mouseYOnMouseDown) * 0,05;
- }
- }
以上就是本文的全部内容,希望对大家的学习有所帮助.

H5referstohtml5, apivotaltechnologyinwebdevelopment.1) html5introducesnewelementsandapisforrich, dynamicwebapplications.2) itsupp ortsmultimediawithoutplugins, enhancusexperienceaceacrossdevices.3) SemantikelementsImproveContentstructureandseo.4) H5'srespo

Alat dan kerangka yang perlu dikuasai dalam pembangunan H5 termasuk Vue.js, React dan Webpack. 1.vue.js sesuai untuk membina antara muka pengguna dan menyokong pembangunan komponen. 2. Leact mengoptimumkan rendering halaman melalui DOM maya, sesuai untuk aplikasi yang kompleks. 3.WebPack digunakan untuk pembungkusan modul dan mengoptimumkan beban sumber.

Html5hassignificlylylectransformedwebdevelopmentbyintroducingsemanticelements, enhancingmultimediasupport, andimprovingperformance.1) itmadewebebsitesmoreaccessibleandseo-friendlywithSemhyViVeShive, dan

H5 meningkatkan kebolehaksesan laman web dan kesan SEO melalui unsur -unsur semantik dan atribut ARIA. 1. Gunakan, dan lain -lain untuk mengatur struktur kandungan dan meningkatkan SEO. 2. Atribut Aria seperti ARIA-Label meningkatkan kebolehcapaian, dan pengguna teknologi bantuan boleh menggunakan laman web dengan lancar.

"H5" dan "HTML5" adalah sama dalam kebanyakan kes, tetapi mereka mungkin mempunyai makna yang berbeza dalam senario tertentu tertentu. 1. "HTML5" adalah standard yang ditentukan oleh W3C yang mengandungi tag dan API baru. 2. "H5" biasanya merupakan singkatan HTML5, tetapi dalam pembangunan mudah alih, ia boleh merujuk kepada rangka kerja berdasarkan HTML5. Memahami perbezaan ini membantu menggunakan istilah ini dengan tepat dalam projek anda.

H5, atau HTML5, adalah versi kelima HTML. Ia menyediakan pemaju dengan set alat yang lebih kuat, menjadikannya lebih mudah untuk membuat aplikasi web yang kompleks. Fungsi teras H5 termasuk: 1) unsur -unsur yang membolehkan lukisan grafik dan animasi di laman web; 2) tag semantik seperti, dan lain -lain untuk menjadikan struktur laman web jelas dan kondusif untuk pengoptimuman SEO; 3) API baru seperti perkhidmatan berasaskan lokasi GeolocationPi; 4) Keserasian silang penyemak imbas perlu dipastikan melalui ujian keserasian dan perpustakaan polyfill.

Bagaimana untuk membuat pautan H5? Tentukan sasaran pautan: Dapatkan URL halaman atau aplikasi H5. Buat HTML Anchors: Gunakan & lt; a & gt; Tag untuk membuat sauh dan tentukan URL sasaran pautan. Tetapkan sifat pautan (pilihan): Tetapkan sasaran, tajuk, dan sifat onClick seperti yang diperlukan. Tambah ke laman web: Tambah kod utama HTML ke laman web di mana anda mahu pautan muncul.

Penyelesaian kepada isu keserasian H5 termasuk: menggunakan reka bentuk responsif yang membolehkan laman web menyesuaikan susun atur mengikut saiz skrin. Gunakan alat ujian silang penyemak imbas untuk menguji keserasian sebelum dilepaskan. Gunakan Polyfill untuk memberi sokongan untuk API baru untuk pelayar yang lebih tua. Ikuti piawaian web dan gunakan kod yang berkesan dan amalan terbaik. Gunakan preprocessors CSS untuk memudahkan kod CSS dan meningkatkan kebolehbacaan. Mengoptimumkan imej, mengurangkan saiz laman web dan mempercepatkan pemuatan. Dayakan HTTPS untuk memastikan keselamatan laman web.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma