Rumah >hujung hadapan web >tutorial js >Panduan Pemula ke DHTML
mata teras
<layer></layer>
<div> Untuk mencapai keserasian penyemak imbas, DHTML perlu menggunakan teknologi skrip yang berbeza mengikut pelayar, yang menyoroti kepentingan teknologi pengesanan pelayar seperti pengesanan objek dalam skrip yang cekap. <code><table>
Walaupun kemunculan teknologi baru seperti Ajax dan JQuery, DHTML masih relevan dan merupakan kemahiran asas dalam mewujudkan kandungan web dinamik interaktif.
<li>
</li> Sebagai webmaster yang mengisytiharkan diri, saya berusaha sedaya upaya untuk bersaing dengan teknologi web terkini. Saya sedang belajar DHTML, iaitu HTML dinamik. Selepas mendengar banyak tentang teknologi ini dan bagaimana ia akhirnya akan merevolusikan internet, saya fikir saya terpaksa berdiri dari sofa dan mula belajar atau saya tidak akan layak untuk memanggil diri saya sebagai "pentadbir laman web" lagi. Jika anda tidak tahu apa -apa mengenai DHTML seperti saya, tutorial ini sesuai untuk anda. Nikmati proses pembelajaran, sila hantarkan e -mel kepada saya jika anda mempunyai sebarang pertanyaan. <li>
</li> Ini adalah soalan yang baik dan saya mengakui saya mempunyai masa yang sukar untuk mencari jawapan lurus. Saya masih ingat melihat jawatan di kumpulan berita JavaScript yang cuba menjawab soalan ini dengan jawapan berikut:
<p> </p> "DHTML adalah gabungan HTML dan JavaScript" <p> Saya berkata kepada diri saya sendiri, "Bukankah itu laman web dengan JavaScript?" Saya mencari beratus -ratus hasil carian pada enjin carian, mencari jawapan yang sukar difahami, tetapi saya masih tidak dapat menemuinya. Jadi saya fikir, tidak kira apa itu, saya akan belajar dhtml terlebih dahulu, dan kemudian memikirkan apa itu! Sekarang saya seorang pengaturcara DHTML, saya fikir saya sudah bersedia untuk memberi anda definisi DHTML yang bagus: </p>
<p> <q> "DHTML adalah gabungan beberapa ciri penyemak imbas terbina dalam dalam generasi keempat pelayar yang menjadikan laman web lebih dinamik" </q> yang anda lihat, DHTML bukan bahasa skrip (seperti JavaScript), tetapi hanya ciri penyemak imbas-atau peningkatan yang membolehkan anda menjadi pelayar. Apa yang anda perlu belajar bukan DHTML sendiri, tetapi sintaks yang anda perlukan untuk menggunakan DHTML. Sebelum apa -apa lagi, anda mungkin mahu mengakses pemacu dinamik dengan cepat dan melihat apa yang boleh dilakukan oleh bahasa ini. </p>
<p> seperti yang saya katakan, DHTML adalah koleksi fungsi yang bersama -sama menjadikan laman web anda dinamik. Saya fikir penting sekarang untuk menentukan apa yang dicipta oleh pencipta DHTML ketika mengatakan "dinamik". "Dinamik" ditakrifkan sebagai keupayaan penyemak imbas untuk menukar penampilan dan gaya laman web selepas dokumen dimuatkan. Saya masih ingat ketika saya belajar JavaScript, saya diajar bahawa saya boleh membuat laman web secara dinamik menggunakan kaedah JavaScript's <code>document.write()
. Contohnya:
document.write("This is text created on the fly!")
Saya ingat berkata kepada diri sendiri, "Ia tidak buruk." Tetapi bagaimana jika kandungan yang saya mahu buat bukan sahaja dinamik, tetapi juga dihasilkan atas permintaan? Saya masih naif pada masa itu dan saya cuba melakukan ini dengan bersarang kod di atas dalam fungsi dan memanggilnya melalui butang borang:
Menekan butang adalah kekecewaan. Keseluruhan laman web saya telah dihapuskan, hanya meninggalkan teks yang dihasilkan oleh fungsi tersebut.
itu masa lalu. Sekarang, dengan pengenalan DHTML, saya boleh menukar kandungan pada halaman web pada bila -bila masa yang saya mahu tanpa penyemak imbas yang menghapuskan segala yang lain. Inilah yang DHTML semua tentang. Keupayaan penyemak imbas untuk menukar penampilan dan gaya walaupun selepas dokumen dimuatkan.
Oleh kerana saya sudah menggembirakan anda, saya fikir untuk menjadi adil, saya harus mencurahkan air sejuk di atasnya. Teknologi DHTML sedang dalam pembangunan, dan NS 4 dan IE 4 sangat berbeza dalam pelaksanaan teknologi hebat ini. Ia tidak mungkin untuk menulis sekeping kod DHTML dan mengharapkan ia berfungsi dengan baik di kedua -dua pelayar. Tambahan pula, kedua -dua pelayar ini berada di peringkat yang berbeza dari perkembangan DHTML mereka; Saya tidak mahu membantu menyebarkan sebarang publisiti, jadi saya di sini untuk pergi.
Ini boleh menjadi perkara yang baik atau perkara yang buruk, bergantung pada pandangan anda. DHTML dalam NS 4 sangat mudah dan pada dasarnya boleh mendidih ke satu lapisan - lapisan. Saya terkejut diri saya, tetapi itu benar - NS 4 bergantung sepenuhnya pada tag baru yang dipanggil
untuk memainkan keajaiban DHTMLnya. Tag baru ini dinamik kerana ia boleh diletakkan di mana sahaja di laman web (tanpa apa -apa lagi), boleh dipindahkan, kandungan dalamannya boleh dikemas kini atas permintaan, dan sebagainya. <layer></layer>
sintaks asas
<layer></layer>
<soile> teks dalam lapisan </soile>
Tag <layer>层内文本</layer>
). Terus cuba memasukkan kod di atas ke dalam halaman anda ... Anda akan melihat bahawa teks di dalam lapisan mengapung dan bertindih dengan teks lain. Bayangkan lapisan adalah seperti sekeping kertas, yang terletak di atas halaman lain, dan tidak mengambil ruang dalam aliran dokumen. <layer></layer>
<table>
<h5> Atribut lapisan </h5>
<p> Lapisan tunggal boleh membosankan, apalagi tidak berguna. Nasib baik, ia mempunyai lebih banyak ciri. Lapisan ini menyokong sifat -sifat, yang membolehkan anda mengesannya menggunakan sistem koordinat X dan Y, memberikan latar belakang untuknya, klip (membuat kawasan tertentu lapisan kelihatan), menyembunyikannya, dan sebagainya. Saya menyenaraikan sifat lapisan yang paling penting di bawah: </p>
<table>
<thead>
<tr>
<th>层属性</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>id
left
top
width
height
bgColor
background
src
Anda boleh mencampur dan memadankan atribut yang berbeza mengikut kehendak.
Klik di sini untuk melihat lapisan contoh menggunakan beberapa sifat di atas
Perhatikan bahawa saya tidak menentukan atribut left
dan top
. Apabila anda tidak menentukan, lapisan akan diletakkan di mana anda menentukannya.
Ini adalah salah satu perkara yang paling penting mengenai lapisan - bagaimana untuk skrip mereka. Lagipun, ia adalah skrip yang menjadikan lapisan aktif. Untuk mengakses lapisan, anda perlu menggunakan sintaks berikut:
document.layername
Klik di sini untuk melihat contoh di mana warna latar belakang lapisan beralih antara merah dan biru.
Semua lapisan sifat boleh dibaca dan boleh ditulis, jadi pastikan anda mencuba setiap harta!
Apabila saya mula mempelajari pelaksanaan IE 4 untuk DHTML, saya menyedari ia lebih rumit daripada versi NS yang sepadan. DHTML dalam IE tidak bergantung pada sebarang tag, tetapi pada objek dan atribut baru yang dihasilkan oleh tag HTML biasa (seperti
dan , elemen juga boleh diberikan atribut "ID", yang kemudiannya boleh digunakan untuk mengenalinya semasa skrip. Contohnya: Objek gaya mengandungi banyak sifat, dengan memanipulasi sifat -sifat ini, anda secara dinamik boleh mengubah penampilan unsur -unsur. Saya sekarang akan menunjukkan beberapa sifat ini: sifat penting objek gaya Atribut di atas mewakili hanya subset semua atribut yang disokong, tetapi mereka adalah atribut yang paling biasa digunakan. Sintaks asas untuk memanipulasi sebarang atribut gaya adalah sama, saya akan menunjukkannya kemudian. Dengan mengakses sifat -sifat ini, kita boleh mengubah penampilan dan gaya kebanyakan elemen HTML (bukannya Klik di sini untuk melihat demonstrasi mudah sila ambil perhatian bagaimana saya menukar warna teks:
Adakah anda bersedia untuk mengakses objek dokumen di lapisan di atas? Berikut adalah sintaks yang diperlukan: Jadi, dengan maklumat ini, saya boleh menulis skrip yang mengubah kandungan lapisan setiap 3 saat. Klik di sini untuk melihat contoh bagaimana untuk melakukan ini di Netscape. Teks sedang dijana dan dihapuskan secara dinamik, tanpa memuatkan semula dokumen! Dalam IE 4, kandungan dinamik dilaksanakan melalui atribut khas yang dipanggil Hasil yang sama hanya berbeza dalam pelaksanaan! Jika anda suka menggunakan animasi, anda akan gembira mengetahui bahawa dengan DHTML, keseluruhan laman web kini kanvas anda! Anda boleh membuat kandungan yang bebas terbang di skrin. Di Netscape, ini dilakukan dengan mengendalikan sifat ingat dalam Pelajaran 2, lapisan menyokong Klik di sini untuk melihat contohnya. yang anda lihat, semua yang saya lakukan sentiasa menambah ke dengan cara, hari ketika NS dan IE bersetuju dengan satu pelaksanaan DHTML adalah hari ketika saya dapat berhenti menulis dua versi setiap perkara (hanya melepaskan kekecewaan saya). Menggerakkan elemen dalam IE 4 pada dasarnya memerlukan membungkus elemen itu dalam kedudukan Klik di sini untuk melihat contohnya. Apa yang saya lakukan terlebih dahulu ialah menetapkan luaran Baiklah, kami mempunyai tag dalam IE 4, kita hanya akan menggunakan id
Sehingga baru -baru ini, setiap kali saya ingin menentukan jenis penyemak imbas pengguna, saya menggunakan objek mari memberi contoh. Kami tahu bahawa NS 3 dan IE 4 Sokongan terjemahan di atas ke dalam bahasa Inggeris bermaksud: "Jika penyemak imbas menyokong
Sekarang anda tidak lagi perlu kembali ke Objek Jelas sekali, tutorial ini hanya pengenalan kepada DHTML. Berikut adalah beberapa sumber yang sangat baik untuk meneruskan perjalanan pembelajaran DHTML anda: HTML (bahasa markup hiperteks) adalah bahasa markup standard yang digunakan untuk membuat laman web. Ia adalah statik, yang bermaksud ia tidak akan berubah apabila ia dimuatkan. DHTML (Dynamic HTML) sebaliknya bukan bahasa yang berdiri sendiri, tetapi lanjutan HTML. Ia menggabungkan HTML, JavaScript dan CSS untuk membuat kandungan web interaktif dan dinamik. Ini bermakna DHTML membolehkan laman web membuat perubahan dan berinteraksi dengan pengguna tanpa memuatkan semula halaman. DHTML meningkatkan interaksi pengguna dengan membenarkan laman web bertindak balas terhadap input pengguna tanpa memuatkan semula halaman. Ini dicapai dengan menggunakan JavaScript dan CSS. Sebagai contoh, DHTML boleh digunakan untuk membuat menu drop-down, animasi, dan ciri-ciri interaktif yang lain. Ini menjadikan pengalaman pengguna lebih menarik dan cekap. Ya, DHTML boleh digunakan dengan bahasa pengaturcaraan lain. Walaupun DHTML sendiri adalah gabungan HTML, CSS, dan JavaScript, ia juga boleh berinteraksi dengan bahasa seperti PHP dan ASP.NET. Ini membolehkan penciptaan aplikasi web yang lebih kompleks dan dinamik.
Bagaimana DHTML meningkatkan prestasi laman web?
Terdapat banyak sumber yang tersedia untuk mempelajari DHTML di Internet. Laman web seperti Geeksforgeeks, Javatpoint dan TutorialSpoint menyediakan panduan dan tutorial yang komprehensif. Di samping itu, anda boleh menemui banyak tutorial video di platform seperti YouTube.
IE 4 Objek Gaya
unsur -unsur HTML dalam IE 4 kini menyokong objek gaya, yang pada dasarnya merupakan objek "dinamik" untuk memanipulasi penampilan dan rasa elemen secara dinamik. Seperti tag <layer></layer>
<div id="adiv">
<p> Dalam skrip anda, sintaks yang diperlukan untuk mengakses objek gaya "ADIV" adalah seperti berikut: </p>
<p> <code> adiv.style <code>adiv.style
latar belakangcolor <code>backgroundColor
warna latar belakang elemen
deartlymage <code>backgroundImage
imej latar belakang elemen
Color <code>color
Warna elemen
Position <code>position
Jenis kedudukan elemen. Nilai yang boleh diterima adalah "mutlak" dan "relatif"
pixelWidth
lebar elemen pixelHeight
ketinggian elemen pixelLeft
kedudukan elemen relatif kepada koordinat x pixelTop
kedudukan elemen relatif kepada koordinat y
<layer></layer>
tag dalam netscape!). sometext.style.color = 'red'
Menukar Apa yang ada di NS 4 melibatkan - anda meneka - lapisan <p> tag. Semua lapisan dipertimbangkan oleh pelayar NS sebagai entiti yang berlainan dari seluruh halaman, dan mereka mempunyai objek dokumen mereka sendiri (yang seterusnya mengandungi objek lain yang disokong oleh dokumen). Memahami ini sangat penting kerana hakikat bahawa lapisan mengandungi objek dokumen lain memungkinkan untuk membuat kandungan dinamik dalam NS. Saya akan mula membina lapisan asas dan kemudian menunjukkan cara mengubah apa yang ada di dalamnya: <code>layer
<layer height="30" id="alayer" width="100%"></layer>
document.alayer.document <code>document.alayer.document
kandungan dinamik dalam IE 4
innerHTML
, yang wujud dalam tag <span></span>
dan <span></span>
atau <layer></layer>
dan left
tag top
. Dalam IE 4, perkara yang sama dilakukan dengan mengubah sifat pixelLeft
dan pixelTop
objek gaya. gerakkan elemen dalam ns 4
left
dan top
sifat, yang mengawal offset mereka berbanding dengan sudut kiri atas dokumen. Nah, dengan menggunakan operasi matematik mudah dan beberapa skrip, kita boleh mengemas kini sifat -sifat ini secara dinamik supaya lapisan bergerak! Contoh berikut mengubah sifat left
lapisan supaya ia bergerak secara mendatar apabila butang ditekan. left
harta "ruang" untuk menjadikannya bergerak dan menetapkan harta itu kembali ke nilai asalnya apabila saya ingin mengembalikan lapisan ke kedudukan awalnya. gerakkan elemen dalam IE 4
<span></span>
atau <span></span>
dan <div> <code>pixelLeft
atau pixelTop
. Kedengarannya rumit, tetapi sebenarnya sangat mudah.
<div> yang dipanggil "kapal angkasa" ke kedudukan relatif, yang diperlukan untuk membuat elemen bergerak (anda juga boleh menetapkannya kepada nilai "mutlak"). Kemudian, dengan memanipulasi atribut objek gayanya, unsur -unsur bergerak. <code>pixelWidth
Sebelum "sebenar" DHTML silang penyemak imbas boleh didapati (dengan kata lain, apabila NS dan IE kembali ke kewarasan), DHTML silang silang pada dasarnya bermakna menggunakan pelbagai teknik skrip yang anda pilih dalam tahun-tahun JavaScript untuk menghidu pelayar yang digunakan oleh pengguna dan melaksanakan kod yang direka untuk penyemak imbas itu. Dalam pelajaran ini, saya akan menerangkan cara untuk membuat lapisan "silang pelayar", dan kemudian menunjukkan kepada anda teknik skrip yang saya pelajari baru-baru ini yang membolehkan anda dengan mudah menghidu jenis penyemak imbas. Buat lapisan "silang pelayar"
<layer></layer>
tag, iaitu pemahaman <span></span>
dan <div>. Jika kita mahu membuat kesan DHTML yang mudah, seperti imej yang bergerak, kita biasanya perlu menggunakan dua tag - tag <code>layer
untuk NS 4, dan tag div
atau span
untuk IE 4. Tidak cantik, bukan? Nah, saya baru-baru ini mengetahui bahawa sebenarnya ada cara untuk membuat lapisan "silang pelayar" dengan tag, walaupun ia adalah kereta kecil dari segi NS. Rupa -rupanya, NS 4 merawat benar -benar diposisikan div
sama seperti lapisan. Jadi tanpa kelewatan lebih lanjut, inilah contoh lapisan penyemak imbas: <div id="crosslayer" style="position:absolute"> </div>
ns 4 merawat di atas div <code>div
sama persis dengan lapisan. Seperti mana -mana lapisan lain, untuk mengaksesnya, kita perlu terlebih dahulu melalui objek dokumen, dan kemudian ID lapisan:
3
div <shp>: <code>document.crosslayer
div
crosslayer
Penyemak imbas Sniffing -Object Detection
var ns4 = (navigator.appname == "netscape" && navigator.appversion & gt; = 4) <code>navigator
var IE4 = (Navigator.AppName == "Microsoft Internet Explorer" && navigator.Appversion & gt; = 4)
Saya secara peribadi benci menggunakan
Idea ini berdasarkan bagaimana JavaScript berfungsi. Jika penyemak imbas tidak menyokong objek tertentu, JavaScript mengembalikan Navigator <code>var ns4 = (navigator.appName == "Netscape" && navigator.appVersion >= 4)
objek - ia terlalu rumit untuk digunakan (lihat kekeliruan di atas!). Ok, saya ada berita baik untuk memberitahu anda. Sebenarnya ada cara yang lebih cepat untuk menghidu pelbagai pelayar, yang dipanggil pengesanan objek. var ie4 = (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion >= 4)
null
navigator <p> objek) dalam <code> jika <code>navigator
pernyataan untuk menentukan penyemak imbas pengguna.
Document.Images <code>null
objek. Jika kita mahu menghidu penyemak imbas ini, kita melakukan ini: if
navigator
document.images
imej <q> objek (hanya NS 3 dan IE 4 sokongan), mesej amaran dikeluarkan". <code>if (document.images) alert("You are using NS 3 or IE 4 ")
Fikirkan pengesanan objek sebagai cara tidak langsung untuk menentukan jenis penyemak imbas pengguna. Pengesanan objek bukanlah penentuan langsung nama dan versi penyemak imbas pengguna (melalui navigator
images
Jadi, bagaimana kita menggunakan pengesanan objek untuk menghidu NS 4 dan IE 4? Nah, hanya NS 4 menyokong document.layers
document.all <p>. Kita boleh menggunakan pengetahuan ini untuk dengan mudah menentukan sama ada pengguna menggunakan NS 4, iaitu 4 atau kedua -duanya: <code>navigator
if (document.layers) amaran ("Anda menggunakan ns 4") <code>document.layers
jika (document.all) amaran ("Anda menggunakan IE 4") <code>document.all
if (document.layers) alert("You are using NS 4 ")
if (document.all) alert("You are using IE 4 ")
if (document.layers || document.all) alert("You are using either NS 4 or IE 4 ")
untuk penyemak imbas! DHTML Resources
Dinamik HTML (DHTML) FAQ
Apakah perbezaan antara HTML dan DHTML?
Bagaimana DHTML meningkatkan interaksi pengguna?
Bolehkah saya menggunakan DHTML dengan bahasa pengaturcaraan lain?
Apakah komponen DHTML?
Bagaimana DHTML berfungsi dengan Model Objek Dokumen (DOM)?
Adakah DHTML sukar untuk belajar?
di mana saya boleh mengetahui lebih lanjut mengenai dhtml?
Atas ialah kandungan terperinci Panduan Pemula ke DHTML. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!