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

Heim Web-Frontend HTML-Tutorial 一個(gè)初級(jí)前端工程師的自我修養(yǎng)

一個(gè)初級(jí)前端工程師的自我修養(yǎng)

Jul 11, 2016 am 08:44 AM

  前言

  優(yōu)化! 又是優(yōu)化!

  切圖崽們作為整個(gè)web應(yīng)用的紐帶,連接著用戶行為和機(jī)器性能。 而 優(yōu)化 的最終意義,在于在這兩者之間取得一個(gè)最佳的平衡點(diǎn)。

  對(duì)于圖片資源的加載來(lái)說(shuō),更是如此。 今天我們就來(lái)簡(jiǎn)單說(shuō)說(shuō),項(xiàng)目開發(fā)中常見的圖片加載優(yōu)化方式。

  預(yù)加載

  1.遮罩大法

  我們都知道, window.onload 實(shí)際上是 DOMContentLoaded 事件完成的回調(diào),只是完成了DOM樹的構(gòu)建。 諸如Css的渲染以及頁(yè)面內(nèi)圖片等資源的下載不一定完成了。所以如果此時(shí)呈現(xiàn)頁(yè)面,頁(yè)面會(huì)非常難看。

  為了解決這個(gè)問(wèn)題,為了從設(shè)計(jì)和行為的角度提高用戶體驗(yàn), 我們可以在圖片等重要資源完全下載完之前,對(duì)頁(yè)面加上較為美觀的遮罩,并且彈出loading提示告知用戶資源正在loading.等到圖片完全加載完,才移除遮罩和加載動(dòng)畫 .

  具體的實(shí)現(xiàn)思路如下:

  window.onload調(diào)用之后,先彈出蒙板加上loading動(dòng)畫用來(lái)提示用戶正在loading中

  對(duì)頁(yè)面中需要預(yù)加載的IMG元素進(jìn)行下載 var img = new Image(); img.src="xx.jpg"

  圖片下載完成會(huì)有一個(gè)onload的回調(diào) img.onload = function(){…}

  在這個(gè)回調(diào)中移除loading動(dòng)畫以及遮罩

  這樣就可以給用戶帶來(lái)順滑如絲般的操作體驗(yàn)了,再也不用擔(dān)心用戶看到那些正在下載的未顯示完全的丑的要死圖片了。

  我們的口號(hào)是: 要么就不給你看,要么就給你看最好的應(yīng)用場(chǎng)景: 請(qǐng)?jiān)凇笔灼林写嬖趫D片的動(dòng)畫,或者和你對(duì)接的UI設(shè)計(jì)師極其強(qiáng)勢(shì)”的情況下使用

  2.有碼大法

  有碼大法和遮罩大法略微有區(qū)別,具體實(shí)現(xiàn)思路如下:

  首先對(duì)你需要預(yù)加載的圖片準(zhǔn)備兩張,一張是高清一張低清。 比如girl_hd大小為60kb. 另一張是girl, 大小是6kb.

  html頁(yè)面中需要預(yù)加載的image標(biāo)簽的src地址寫的是低清的地址 一個(gè)初級(jí)前端工程師的自我修養(yǎng)

  因?yàn)榈颓鍒D很小,很快就能被加載出來(lái)。

  window.onload調(diào)用之后,獲取頁(yè)面需要高清替換的img的src(girl.jpg),以此src為基準(zhǔn)拼接字符串(+’_hd.jpg’)獲得高清圖的地址(girl_hd.jpg),然后用下載該高清圖 var img = new Image(); img.src=“girl_hd.jpg”

  圖片下載完成會(huì)有一個(gè)onload的回調(diào) img.onload = function(){…}

  回調(diào)中替換掉頁(yè)面中img的src, 所以現(xiàn)在頁(yè)面上的image標(biāo)簽為 一個(gè)初級(jí)前端工程師的自我修養(yǎng)

  我們的口號(hào)是: 想看無(wú)碼高清,請(qǐng)先看有碼低清應(yīng)用場(chǎng)景: 請(qǐng)?jiān)凇笔灼林谐霈F(xiàn)大量圖片,且尺寸都不小”的情況下使用

  懶加載

  如果你仔細(xì)看了上面預(yù)加載的思路,一定往我腦袋上拍磚: 遮罩大法也好,有碼大法也好,這并沒有提高項(xiàng)目的加載速度啊,最后該下載的圖片還不是得下載。 沒錯(cuò),懶加載只是改變了用戶的操作感受,實(shí)際上項(xiàng)目的加載速度并沒有提高。 但是,現(xiàn)在要說(shuō)的懶加載,可是實(shí)實(shí)在在的提高了項(xiàng)目的加載速度哦。

  什么是懶加載,一句話來(lái)解釋, 就是 圖片按需加載 .

  大家一定刷過(guò)微博,微博的照片墻就是懶加載的最佳示例。一開始顯示的照片并不多,只有用戶下拉,拉到底部的位置, 照片墻才會(huì)被拉長(zhǎng),新的圖片才會(huì)被加載。

  操作思路:

  監(jiān)聽 滾動(dòng)條scroll 事件(當(dāng)然 touchmove 事件也可以)

  每次事件觸發(fā)的時(shí)候,判斷當(dāng)前照片墻的位置

  如果照片墻已經(jīng)被刷到了底部某個(gè)臨界位置點(diǎn)

  Js下載新出現(xiàn)的圖片, var img = new Image(); img.src="xx.jpg"

  下載完成有一個(gè)onload的回調(diào) img.onload = function(){…}

  在下載完成的回調(diào)中向頁(yè)面中插入已經(jīng)下載好的圖片

  當(dāng)然,根據(jù)項(xiàng)目不同,會(huì)有各種各樣的懶加載方式。但核心是不變的: 即頁(yè)面初始加載的時(shí)候,只加載滿足用戶需求的最小數(shù)量的資源 . 拿照片墻舉例,可能用戶的微博里有500張照片,如果你在頁(yè)面加載的時(shí)候就加載500張,用戶會(huì)卡到爆炸(因?yàn)楹笈_(tái)一直處于圖片下載狀態(tài))。 如果頁(yè)面加載的時(shí)候只初始加載20張圖片,其他的圖片通過(guò)用戶自己的操作(滾動(dòng)下拉),來(lái)按需加載,會(huì)極大提升項(xiàng)目運(yùn)行的流暢程度。

  結(jié)語(yǔ)

  雖然預(yù)加載還是懶加載實(shí)現(xiàn)原理都非常簡(jiǎn)單,給我的啟示確是巨大的:

  預(yù)加載 除了改善用戶的操作感受,其深層次的核心其實(shí)在于: 對(duì)資源進(jìn)行碎片化加載 , 即預(yù)加載其實(shí)可以出現(xiàn)在任何時(shí)間段,當(dāng)用戶鼠標(biāo)很長(zhǎng)時(shí)間沒移動(dòng)的時(shí)候,我可不可以偷偷下載兩張圖片?在用戶目前沒有進(jìn)行大量運(yùn)算操作的時(shí)候,我可不可以偷偷下載兩張圖片?當(dāng)用戶當(dāng)前在一個(gè)很精簡(jiǎn)的登陸界面的時(shí)候,我可不可以偷偷下載他登陸成功跳轉(zhuǎn)到的頁(yè)面的幾張圖片?等等等等

  懶加載 的深層次核心在于: 按需 , 按需這個(gè)詞已經(jīng)被深深刻在我腦子里了。 現(xiàn)在回想起來(lái),很多很多優(yōu)化方式都是圍繞著按需來(lái)展開的。 按需加載Js , 按需加載圖片 等等

  首先,我們必須保證項(xiàng)目第一時(shí)間的加載速度,能讓用戶在最短的時(shí)間內(nèi)看到頁(yè)面和內(nèi)容。

  其次,盡量保證當(dāng)前頁(yè)面的精簡(jiǎn)程度,不去做無(wú)意義的加載。 只有當(dāng)用戶真正需要時(shí),我們才展現(xiàn)給他。

  各自的優(yōu)缺點(diǎn)在于:

  預(yù)加載:

  優(yōu)點(diǎn):如果提前下好了圖片,等到這張圖片需要用到時(shí),可以秒開。

  缺點(diǎn):下載圖片的時(shí)候會(huì)影響項(xiàng)目的加載完成時(shí)間,會(huì)影響項(xiàng)目運(yùn)行的流暢程度

  懶加載在于:

  優(yōu)點(diǎn): 保證用戶加載的項(xiàng)目是最精簡(jiǎn)的,最快的, 所下載資源是最少的

  缺點(diǎn): 如果用戶的操作觸發(fā)了懶加載,那么需要等待資源下載到完成的時(shí)間,同時(shí)資源下載期間,操作流暢度降低

  說(shuō)到底,項(xiàng)目的優(yōu)化是沒有銀彈的,這一部分的高效很可能導(dǎo)致另一部分的低效。A項(xiàng)目的優(yōu)化方法照搬來(lái)B項(xiàng)目可能一文不值。所以我們切圖崽們能做的,就是深刻理解這些技術(shù)的原理,并且在項(xiàng)目中吸收經(jīng)驗(yàn),只有深刻地理解了各項(xiàng)技術(shù)的優(yōu)劣,只有深刻的理解了用戶的需求以及行為習(xí)慣,才能針對(duì)特定的項(xiàng)目,特定的場(chǎng)景,進(jìn)行最適合的處理。

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
Implementieren klickbarer Schaltfl?chen mithilfe des HTML -Schaltfl?chenelements Implementieren klickbarer Schaltfl?chen mithilfe des HTML -Schaltfl?chenelements Jul 07, 2025 am 02:31 AM

Um HTML -Schaltfl?chenelemente zu verwenden, um anklickbare Schaltfl?chen zu erreichen, müssen Sie zun?chst die grundlegende Verwendung und gemeinsame Vorsichtsma?nahmen beherrschen. 1. Erstellen Sie Schaltfl?chen mit Tags und definieren Sie Verhaltensweisen durch Typattribute (z. B. Schaltfl?che, Senden, Zurücksetzen), die standardm??ig übermittelt werden. 2. Fügen Sie interaktive Funktionen über JavaScript hinzu, die über ID geschrieben werden k?nnen, um Ereignish?rer zu verbinden, um die Wartung zu verbessern. 3.. Verwenden Sie CSS, um Stile anzupassen, einschlie?lich Hintergrundfarbe, Grenze, abgerundete Ecken und Schwebe-/aktive Statusffekte, um die Benutzererfahrung zu verbessern. 4. Achten Sie auf h?ufige Probleme: Stellen Sie sicher, dass das behinderte Attribut nicht aktiviert ist. Meistere das

Konfigurieren von Dokumentmetadaten im HTML -Kopfelement Konfigurieren von Dokumentmetadaten im HTML -Kopfelement Jul 09, 2025 am 02:30 AM

Metadaten in HTMLhead sind entscheidend für das Verhalten von SEO-, Social Sharing und Browser. 1. Setzen Sie den Seitentitel und die Beschreibung, verwenden Sie es und halten Sie es pr?zise und einzigartig. 2. Fügen Sie OpenGraph- und Twitter -Karteninformationen hinzu, um die Auswirkungen auf die soziale Freigabe zu optimieren, auf die Bildgr??e zu achten und Debugging -Tools zum Testen zu verwenden. 3. Definieren Sie die Einstellungen für den Zeichensatz und die Ansichtsfenster, um sicherzustellen, dass die Unterstützung mehrsprachiger Unterstützung an das mobile Terminal angepasst wird. 4. Optionale Tags wie das Urheberrecht des Autors, die Kontrolle der Roboter und die kanonische Verhindern doppelter Inhalte sollten auch vernünftig konfiguriert werden.

Bestes HTML -Tutorial für Anf?nger im Jahr 2025 Bestes HTML -Tutorial für Anf?nger im Jahr 2025 Jul 08, 2025 am 12:25 AM

Tolearnhtmlin2025, ChooseatutororyThatbalancesHands-On-Practionwithmoderit und IntegrateCsSandjavaScriptbasics.1.PrioritizeHands-OnLearningWithStep-by-Stepprojects-?hnlich

HTML für E -Mail -Vorlagen -Tutorial HTML für E -Mail -Vorlagen -Tutorial Jul 10, 2025 pm 02:01 PM

Wie mache ich HTML -Mail -Vorlagen mit guter Kompatibilit?t? Zun?chst müssen Sie eine Struktur mit Tabellen erstellen, um die Verwendung von Div -Flex- oder Netzlayout zu vermeiden. Zweitens müssen alle Stile eingefügt werden und k?nnen sich nicht auf externe CSS verlassen. Dann sollte das Bild mit ALT -Beschreibung hinzugefügt werden und eine ?ffentliche URL verwenden, und die Schaltfl?chen sollten mit einer Tabelle oder TD mit Hintergrundfarbe simuliert werden. Schlie?lich müssen Sie die Details zu mehreren Clients testen und anpassen.

Wie assoziieren Sie Bildunterschriften mit Bildern oder Medien mithilfe der HTML -Figur und der Figcaption -Elemente? Wie assoziieren Sie Bildunterschriften mit Bildern oder Medien mithilfe der HTML -Figur und der Figcaption -Elemente? Jul 07, 2025 am 02:30 AM

Die Verwendung von HTML -Summen erm?glicht die intuitive und semantische Klarheit, Bildern oder Medien einen Bildunterschriftentext hinzuzufügen. 1.. Wird verwendet, um unabh?ngige Medieninhalte wie Bilder, Videos oder Codebl?cke einzuwickeln; 2. Es wird als erkl?render Text platziert und kann über oder unter den Medien befinden. 3. Sie verbessern nicht nur die Klarheit der Seitenstruktur, sondern verbessern auch die Zug?nglichkeit und den SEO -Effekt. 4. Wenn Sie es verwenden, sollten Sie darauf achten, Missbrauch zu vermeiden, und sich auf Inhalte bewerben, die eher von Beschreibung als von gew?hnlichen dekorativen Bildern betont und begleitet werden müssen. 5. Das Alt -Attribut, das nicht ignoriert werden kann, das sich von Figcaption unterscheidet; 6. Die Figur ist flexibel und kann nach Bedarf oben oder unten in der Figur platziert werden. Wenn Sie diese beiden Tags korrekt verwenden, k?nnen Sie semantische und leicht verst?ndliche Webinhalte erstellen.

Wie kann ich mit Formularen in HTML ohne Server umgehen? Wie kann ich mit Formularen in HTML ohne Server umgehen? Jul 09, 2025 am 01:14 AM

Wenn es keinen Backend-Server gibt, kann die Einreichung von HTML-Formular weiterhin über Front-End-Technologie oder Drittanbieterdienste verarbeitet werden. Zu den spezifischen Methoden geh?ren: 1. JavaScript verwenden, um die Einreichungen von Formulareingaben abzufangen, um die Eingabeüberprüfung und das Benutzerfeedback zu erhalten. Die Daten werden jedoch nicht bestehen. 2. Verwenden Sie serverlose Formulardienste von Drittanbietern wie F?rse, um Daten zu sammeln und E-Mail-Benachrichtigungs- und Umleitungsfunktionen bereitzustellen. 3.. Verwenden Sie LocalStorage, um tempor?re Clientdaten zu speichern, die zum Speichern von Benutzerpr?ferenzen oder zum Verwalten von Anwendungsstatus einseitig geeignet sind, jedoch nicht für die langfristige Speicherung vertraulicher Informationen geeignet sind.

Was sind die am h?ufigsten verwendeten globalen Attribute in HTML? Was sind die am h?ufigsten verwendeten globalen Attribute in HTML? Jul 10, 2025 am 10:58 AM

Klasse, ID, Stil, Daten und Titel sind die am h?ufigsten verwendeten globalen Attribute in HTML. Die Klasse wird verwendet, um einen oder mehrere Klassennamen anzugeben, um die Stileinstellung und JavaScript -Vorg?nge zu erleichtern. ID bietet eindeutige Kennungen für Elemente, die für Anker -Sprünge und JavaScript -Kontrolle geeignet sind. Durch den Stil k?nnen Inline-Stile hinzugefügt werden, geeignet für ein vorübergehendes Debuggen, aber nicht für die Verwendung von gro?em Ma?stab empfohlen. Data-Properties werden verwendet, um benutzerdefinierte Daten zu speichern, was für die Interaktion mit Front-End- und Back-End-Interaktion geeignet ist. Der Titel wird verwendet, um Mausover -Eingaben hinzuzufügen, aber sein Stil und sein Verhalten werden durch den Browser begrenzt. Eine angemessene Auswahl dieser Attribute kann die Entwicklungseffizienz und die Benutzererfahrung verbessern.

Implementierung des nativen faulen Ladens für Bilder in HTML Implementierung des nativen faulen Ladens für Bilder in HTML Jul 12, 2025 am 12:48 AM

Native Lazy Loading ist eine integrierte Browserfunktion, die das faule Laden von Bildern durch Hinzufügen von Loading = "Lazy" zum Tag hinzufügen kann. 1. Es erfordert keine Bibliotheken von JavaScript oder Drittanbietern und wird direkt in HTML verwendet. 2. Es ist für Bilder geeignet, die nicht auf dem ersten Bildschirm unterhalb der Seite, die Scrolling-Add-Ons und gro?e Bildressourcen angezeigt werden. 3. Es ist nicht für Bilder mit dem ersten Bildschirm oder Display geeignet: keine; 4. Bei der Verwendung sollte ein geeigneter Platzhalter festgelegt werden, um Layout -Jitter zu vermeiden. 5. Es sollte das Laden von Responsive Bild in Kombination mit SRCSet- und Gr??enattributen optimieren. 6. Kompatibilit?tsprobleme müssen berücksichtigt werden. Einige alte Browser unterstützen es nicht. Sie k?nnen durch Merkmalserkennung verwendet und mit JavaScript -L?sungen kombiniert werden.

See all articles