免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

網(wǎng)頁(yè)設(shè)計(jì)期末作業(yè)全攻略:從站點(diǎn)規(guī)劃到購(gòu)物車(chē)交互一次講透

網(wǎng)頁(yè)設(shè)計(jì)期末作業(yè)全攻略:從站點(diǎn)規(guī)劃到購(gòu)物車(chē)交互一次講透 做網(wǎng)頁(yè)設(shè)計(jì)期末大作業(yè)這件事每年期末都有大批學(xué)生卡在同一個(gè)地方題目看著不難比如水果超市網(wǎng)站設(shè)計(jì)六張頁(yè)面、HTMLCSSJavaScript、用DW交稿但真動(dòng)手以后才發(fā)現(xiàn)——要么布局怎么調(diào)都不對(duì)要么交互效果做不出來(lái)要么做完一檢查漏洞百出最后交上去的作業(yè)自己都不好意思看。這篇文章我就以水果超市6頁(yè)這個(gè)題目為例從拿到題目開(kāi)始到最終提交完整拆一遍應(yīng)該怎么規(guī)劃、怎么寫(xiě)代碼、怎么調(diào)試以及哪些細(xì)節(jié)是評(píng)分老師真正在意的點(diǎn)。內(nèi)容覆蓋站點(diǎn)結(jié)構(gòu)設(shè)計(jì)、全局CSS、首頁(yè)輪播、商品列表與詳情、購(gòu)物車(chē)JS邏輯、登錄表單校驗(yàn)、提交前自檢這些環(huán)節(jié)適合正在做web課程設(shè)計(jì)的學(xué)生參考也適合想系統(tǒng)補(bǔ)一遍網(wǎng)頁(yè)三件套基礎(chǔ)的同學(xué)當(dāng)復(fù)盤(pán)材料。1. 拿到水果超市題目先搞清楚評(píng)分老師在找什么1.1 評(píng)審視角下的四個(gè)得分維度先說(shuō)個(gè)很多學(xué)生容易忽略的事實(shí)網(wǎng)頁(yè)設(shè)計(jì)作業(yè)的評(píng)分標(biāo)準(zhǔn)和商業(yè)網(wǎng)站不完全一樣老師打分時(shí)看重的不是功能有多復(fù)雜而是以下幾個(gè)維度。第一是完整性。標(biāo)題明確寫(xiě)了6頁(yè)那就必須有6個(gè)HTML文件少一頁(yè)直接扣分。而且每頁(yè)之間要通過(guò)導(dǎo)航欄或鏈接串聯(lián)起來(lái)不能是六個(gè)孤立文件。第二是規(guī)范性。HTML結(jié)構(gòu)是否語(yǔ)義化CSS是否單獨(dú)寫(xiě)在外部樣式表里JavaScript是否獨(dú)立成文件或用合理的方式內(nèi)嵌命名是否清晰注釋是否到位。這些都屬于看起來(lái)像專(zhuān)業(yè)開(kāi)發(fā)人員寫(xiě)的東西的范疇。第三是功能性。JavaScript部分有沒(méi)有實(shí)際能跑的交互——輪播、菜單切換、表單驗(yàn)證、購(gòu)物車(chē)計(jì)算任意兩到三個(gè)就能滿(mǎn)足要求。只寫(xiě)靜態(tài)頁(yè)面沒(méi)有JS基本告別高分段。第四是視覺(jué)完成度。顏色是否統(tǒng)一間距是否舒服hover有沒(méi)有反饋圖片是否清晰整體能不能看出設(shè)計(jì)過(guò)。這決定了作業(yè)是及格還是優(yōu)秀的分水嶺。1.2 六頁(yè)站點(diǎn)地圖不是隨便湊六個(gè)頁(yè)面是邏輯閉環(huán)拿水果超市這個(gè)題目來(lái)說(shuō)六頁(yè)的分配可以這樣規(guī)劃index.html首頁(yè)品牌banner、輪播圖、熱門(mén)推薦、樓層導(dǎo)購(gòu)、促銷(xiāo)活動(dòng)任務(wù)是吸引用戶(hù)點(diǎn)進(jìn)下一層。products.html商品列表頁(yè)展示全部分類(lèi)下的水果商品卡片帶分類(lèi)篩選和排序。detail.html商品詳情頁(yè)單款水果的大圖、簡(jiǎn)介、價(jià)格、規(guī)格選擇、加入購(gòu)物車(chē)按鈕是從列表頁(yè)到?jīng)Q策頁(yè)的過(guò)渡。cart.html購(gòu)物車(chē)頁(yè)展示已加入的商品、數(shù)量增減、自動(dòng)計(jì)算總價(jià)、模擬結(jié)算流程。login.html登錄/注冊(cè)頁(yè)表單加校驗(yàn)驗(yàn)證用戶(hù)名、密碼格式可加驗(yàn)證碼倒計(jì)時(shí)之類(lèi)的小交互。about.html關(guān)于我們/水果知識(shí)頁(yè)品牌故事、水果營(yíng)養(yǎng)知識(shí)順便展示圖片和排版能力。這六頁(yè)的邏輯是一條完整的用戶(hù)動(dòng)線(xiàn)進(jìn)店首頁(yè)→ 逛貨架列表→ 看商品詳情→ 加入購(gòu)物車(chē)購(gòu)物車(chē)→ 登錄結(jié)算登錄頁(yè)→ 了解品牌關(guān)于頁(yè)。評(píng)閱老師打開(kāi)任何一個(gè)頁(yè)面都能通過(guò)導(dǎo)航跳到其他頁(yè)面這實(shí)現(xiàn)的是網(wǎng)購(gòu)商城的基本信息架構(gòu)。在動(dòng)手寫(xiě)代碼之前強(qiáng)烈建議用一張紙把上面這個(gè)關(guān)系和每個(gè)頁(yè)面的模塊清單畫(huà)出來(lái)。這一步看著浪費(fèi)時(shí)間實(shí)際能省下后面反復(fù)改結(jié)構(gòu)的功夫。1.3 開(kāi)發(fā)工具用DW還是HBuilder標(biāo)題里帶DW這里就多說(shuō)一句。Dreamweaver在設(shè)計(jì)網(wǎng)頁(yè)作業(yè)場(chǎng)景下依然能用它的實(shí)時(shí)視圖和站點(diǎn)管理功能對(duì)新手友好。但如果你手里一臺(tái)電腦能裝其他軟件我更推薦HBuilder或VS Code原因有三個(gè)代碼補(bǔ)全更智能寫(xiě)類(lèi)名和標(biāo)簽時(shí)的效率高很多內(nèi)置的本地預(yù)覽服務(wù)器比如HBuilder的運(yùn)行到瀏覽器不會(huì)出現(xiàn)file協(xié)議下的路徑跨域問(wèn)題控制臺(tái)報(bào)錯(cuò)信息更完整排查JS錯(cuò)誤時(shí)能省不少時(shí)間。工具本身不影響成績(jī)交上去的是代碼不是截圖所以挑自己順手的就行。2. 先寫(xiě)全局CSS風(fēng)格統(tǒng)一比單個(gè)頁(yè)面驚艷更重要很多新手習(xí)慣一頁(yè)一頁(yè)寫(xiě)樣式結(jié)果首頁(yè)一個(gè)色調(diào)、列表頁(yè)又一個(gè)色調(diào)放在一起像拼盤(pán)。正確做法是先建一個(gè)全局樣式表我習(xí)慣命名為style.css或common.css把整個(gè)站點(diǎn)的視覺(jué)規(guī)范定下來(lái)其他頁(yè)面都引用它。2.1 用CSS變量統(tǒng)一主題色水果超市這個(gè)品類(lèi)天然適合綠色系——新鮮、健康、有食欲。用CSS變量定義主題色后續(xù)所有頁(yè)面的顏色都用var()引用想換配色時(shí)只需要改一處。:root { --primary: #43a047; /* 主色新鮮綠 */ --primary-dark: #2e7d32; /* 深色用于導(dǎo)航、頁(yè)腳 */ --primary-light: #66bb6a; /* 淺色用于hover背景 */ --accent: #ff9800; /* 強(qiáng)調(diào)色促銷(xiāo)標(biāo)簽、價(jià)格 */ --bg: #f7f8f5; /* 頁(yè)面背景 */ --card-bg: #ffffff; /* 卡片背景 */ --text-main: #333333; /* 主文字 */ --text-sub: #757575; /* 次要文字 */ --radius: 10px; /* 統(tǒng)一圓角 */ --shadow: 0 2px 12px rgba(0,0,0,0.08); /* 卡片陰影 */ }定義好之后寫(xiě)按鈕、卡片、導(dǎo)航的背景色和文字色時(shí)全用變量。這樣假如老師提了一句換成暖色調(diào)更有食欲你只需要把--primary改成橙紅色系幾分鐘完成全局換膚。2.2 重置瀏覽器默認(rèn)樣式瀏覽器自帶的body有8px外邊距ul有默認(rèn)圓點(diǎn)a有下劃線(xiàn)這些默認(rèn)樣式會(huì)讓你的頁(yè)面在不同瀏覽器里長(zhǎng)不一樣。因此全局樣式第一段就應(yīng)該做基礎(chǔ)重置。* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: PingFang SC, Microsoft YaHei, sans-serif; background: var(--bg); color: var(--text-main); line-height: 1.6; } ul { list-style: none; } a { text-decoration: none; color: inherit; } img { display: block; max-width: 100%; } .container { width: 1200px; max-width: 100%; margin: 0 auto; padding: 0 15px; }這里的.container是全局通用的容器類(lèi)各頁(yè)面內(nèi)容區(qū)都用它包裹保證頁(yè)面兩側(cè)留白一致。box-sizing: border-box這個(gè)屬性尤其重要沒(méi)有它一個(gè)設(shè)定寬度的盒子加了padding后實(shí)際寬度會(huì)超出預(yù)期布局亂掉的常見(jiàn)原因就在這。2.3 導(dǎo)航欄和頁(yè)腳六張頁(yè)面長(zhǎng)一個(gè)樣評(píng)分老師拿到作業(yè)后第一件事是挨個(gè)打開(kāi)頁(yè)面這時(shí)導(dǎo)航欄和頁(yè)腳是否完全一致直接影響網(wǎng)站整體性的印象分。所以這兩個(gè)組件必須在全局CSS里統(tǒng)一定義好。導(dǎo)航的結(jié)構(gòu)推薦這樣寫(xiě)header classsite-header div classcontainer nav-wrap div classlogo a hrefindex.html img srcimages/logo.png alt鮮果超市 /a /div nav classmain-nav ul li classactivea hrefindex.html首頁(yè)/a/li lia hrefproducts.html全部水果/a/li lia hrefabout.html關(guān)于我們/a/li lia hreflogin.html登錄/a/li lia hrefcart.html購(gòu)物車(chē)/a/li /ul /nav div classheader-search input typetext placeholder搜索水果... button搜索/button /div /div /header導(dǎo)航的高亮當(dāng)前頁(yè)是區(qū)分頁(yè)面的關(guān)鍵。當(dāng)前頁(yè)對(duì)應(yīng)的li加上active類(lèi)顏色用主色調(diào)加粗其他頁(yè)的鏈接保持普通樣式。頁(yè)腳部分包含三列信息品牌介紹文字、快捷鏈接列表、聯(lián)系方式可以寫(xiě)400電話(huà)這類(lèi)模擬信息底部再放一行版權(quán)聲明。注意版權(quán)聲明里的年份用JS動(dòng)態(tài)獲取這是一個(gè)很多人沒(méi)想到、但老師會(huì)注意到的小細(xì)節(jié)document.getElementById(year).textContent new Date().getFullYear();2.4 一組通用按鈕和卡片樣式水果超市的交互以查看詳情加入購(gòu)物車(chē)結(jié)算為主所以按鈕樣式必須全局統(tǒng)一。我建議定義兩個(gè)類(lèi).btn是基礎(chǔ)按鈕.btn-primary是主按鈕.btn-outline是描邊按鈕。.btn { display: inline-block; padding: 10px 24px; border: none; border-radius: 50px; font-size: 14px; cursor: pointer; transition: all 0.3s ease; text-align: center; } .btn-primary { background: var(--primary); color: #fff; } .btn-primary:hover { background: var(--primary-dark); transform: translateY(-2px); box-shadow: 0 6px 16px rgba(67, 160, 71, 0.35); } .btn-outline { background: transparent; color: var(--primary); border: 2px solid var(--primary); } .btn-outline:hover { background: var(--primary-light); color: #fff; }商品卡片是列表頁(yè)、首頁(yè)推薦區(qū)共用的元素同樣在全局CSS里定義好避免每個(gè)頁(yè)面重復(fù)寫(xiě)。.card { background: var(--card-bg); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; } .card:hover { transform: translateY(-6px); box-shadow: 0 12px 24px rgba(0,0,0,0.12); }2.5 CSS漸變和文本溢出省略的使用做促銷(xiāo)標(biāo)簽時(shí)CSS漸變能做出比純色更有質(zhì)感的視覺(jué)效果。比如限時(shí)特惠標(biāo)簽用漸變背景更醒目.tag-hot { background: linear-gradient(135deg, #ff5722, #ff9800); color: #fff; font-size: 12px; padding: 4px 10px; border-radius: 20px; }商品標(biāo)題如果太長(zhǎng)不要讓它換行撐亂卡片用單行溢出省略處理.card-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }這兩處都是高頻用到的小技巧很多初學(xué)者不知道text-overflow要和white-space、overflow配合才生效單獨(dú)寫(xiě)一個(gè)屬性是沒(méi)用的。3. 首頁(yè)的視覺(jué)錨點(diǎn)輪播圖讓作品第一眼像樣首頁(yè)是網(wǎng)站的門(mén)面。打開(kāi)首頁(yè)的視覺(jué)效果直接決定了老師對(duì)這個(gè)作業(yè)的初始印象分。而首頁(yè)里最能撐場(chǎng)面的組件就是首屏的大尺寸輪播圖。3.1 先說(shuō)清輪播圖的實(shí)現(xiàn)原理輪播圖本質(zhì)上是一個(gè)視口容器、一組水平排列的slide、一段控制位移的JavaScript。每切換一次就是讓slide數(shù)組的父容器往左平移一個(gè)slide寬度。平移用CSS的transform: translateX()實(shí)現(xiàn)性能最好配合transition: 0.5s就能獲得平滑動(dòng)畫(huà)。很多學(xué)生一上來(lái)就想用jQuery插件或Swiper交作業(yè)當(dāng)然可以但如果能在純JavaScript層面把它實(shí)現(xiàn)出來(lái)代碼量不大又能體現(xiàn)你對(duì)DOM操作和事件處理的理解平時(shí)分和答辯時(shí)的印象分會(huì)明顯更好。3.2 一個(gè)自帶指示器和小箭頭的完整輪播HTML結(jié)構(gòu)div classbanner div classbanner-viewport ul classbanner-slides idbannerSlides li classslideimg srcimages/banner1.jpg alt當(dāng)季鮮果推薦/li li classslideimg srcimages/banner2.jpg alt進(jìn)口水果專(zhuān)區(qū)/li li classslideimg srcimages/banner3.jpg alt會(huì)員日優(yōu)惠/li /ul /div button classbanner-arrow prev idprevBtn#10094;/button button classbanner-arrow next idnextBtn#10095;/button ul classbanner-dots idbannerDots li classactive/li li/li li/li /ul /divCSS關(guān)鍵部分.banner { position: relative; overflow: hidden; border-radius: 0 0 20px 20px; } .banner-viewport { width: 100%; height: 420px; overflow: hidden; } .banner-slides { display: flex; width: 100%; height: 100%; transition: transform 0.5s ease; } .slide { flex-shrink: 0; width: 100%; height: 100%; } .slide img { width: 100%; height: 100%; object-fit: cover; }注意flex-shrink: 0這個(gè)細(xì)節(jié)它保證每個(gè)slide不會(huì)在flex容器里被壓縮是輪播能正常橫排的關(guān)鍵。JavaScript核心邏輯let currentIndex 0; const slides document.querySelectorAll(.slide); const dots document.querySelectorAll(.banner-dots li); const slidesWrap document.getElementById(bannerSlides); const totalSlides slides.length; let timer null; function goToSlide(index) { if (index 0) { index totalSlides - 1; } else if (index totalSlides) { index 0; } currentIndex index; slidesWrap.style.transform translateX(- currentIndex * 100 %); updateDots(); } function updateDots() { dots.forEach((dot, i) { dot.classList.toggle(active, i currentIndex); }); } function nextSlide() { goToSlide(currentIndex 1); } function prevSlide() { goToSlide(currentIndex - 1); } document.getElementById(nextBtn).addEventListener(click, function() { nextSlide(); resetAutoPlay(); }); document.getElementById(prevBtn).addEventListener(click, function() { prevSlide(); resetAutoPlay(); }); dots.forEach((dot, index) { dot.addEventListener(click, function() { goToSlide(index); resetAutoPlay(); }); }); function startAutoPlay() { timer setInterval(nextSlide, 3000); } function resetAutoPlay() { clearInterval(timer); startAutoPlay(); } startAutoPlay();這里有一點(diǎn)值得注意translateX用百分比而不是固定像素值這樣不管瀏覽器窗口怎么縮放每個(gè)slide平移的距離都等于自身寬度輪播不會(huì)錯(cuò)位。這個(gè)寫(xiě)法的健壯性比寫(xiě)死像素值好很多。3.3 一個(gè)錦上添花的做法鼠標(biāo)懸停暫停輪播評(píng)分老師在演示時(shí)鼠標(biāo)一定會(huì)在頁(yè)面上移動(dòng)如果輪播遇到鼠標(biāo)懸停能暫??雌饋?lái)會(huì)非常專(zhuān)業(yè)。實(shí)現(xiàn)非常簡(jiǎn)單在banner容器上監(jiān)聽(tīng)mouseenter和mouseleave即可const banner document.querySelector(.banner); banner.addEventListener(mouseenter, function() { clearInterval(timer); timer null; }); banner.addEventListener(mouseleave, function() { startAutoPlay(); });3.4 首頁(yè)的樓層導(dǎo)購(gòu)錨點(diǎn)跳轉(zhuǎn)加上吸頂導(dǎo)航首屏輪播下面可以加精選水果進(jìn)口專(zhuān)區(qū)時(shí)令促銷(xiāo)三個(gè)樓層模塊。每個(gè)樓層的左側(cè)或頂部放一個(gè)樓層標(biāo)題點(diǎn)擊右側(cè)樓層導(dǎo)航里的對(duì)應(yīng)條目頁(yè)面平滑滾動(dòng)到對(duì)應(yīng)區(qū)域。平滑滾動(dòng)的實(shí)現(xiàn)有兩種方式。一種是用CSS的scroll-behavior: smooth在html上設(shè)置然后a標(biāo)簽href直接指向錨點(diǎn)id零代碼實(shí)現(xiàn)滾動(dòng)動(dòng)畫(huà)html { scroll-behavior: smooth; }另一種是用JS的window.scrollTo配合behavior: smooth參數(shù)適合需要在滾動(dòng)前后執(zhí)行其他邏輯的場(chǎng)景。這一整套首頁(yè)下來(lái)就有了視覺(jué)重點(diǎn)輪播、商品展示樓層、輔助導(dǎo)航小箭頭和錨點(diǎn)首屏內(nèi)容非常充實(shí)。4. 商品列表與詳情頁(yè)網(wǎng)購(gòu)商城的核心交互體驗(yàn)4.1 列表頁(yè)的分類(lèi)篩選用data屬性做最簡(jiǎn)單可靠的數(shù)據(jù)篩選商品列表頁(yè)的篩選功能很多學(xué)生第一反應(yīng)就是每個(gè)分類(lèi)做一套標(biāo)簽/循環(huán)其實(shí)用data屬性做篩選是工作中最常用的輕量方案它把分類(lèi)信息直接掛在商品卡片上點(diǎn)擊按鈕時(shí)遍歷卡片按data值決定顯示還是隱藏。HTML部分div classfilter-bar button classfilter-btn active>const filterBtns document.querySelectorAll(.filter-btn); const productCards document.querySelectorAll(.product-card); filterBtns.forEach(function(btn) { btn.addEventListener(click, function() { filterBtns.forEach(function(item) { item.classList.remove(active); }); this.classList.add(active); const filterValue this.getAttribute(data-filter); productCards.forEach(function(card) { if (filterValue all || card.getAttribute(data-category) filterValue) { card.style.display block; } else { card.style.display none; } }); }); });4.2 列表和網(wǎng)格視圖切換商品列表頁(yè)的另一個(gè)實(shí)用交互是列表視圖和網(wǎng)格視圖切換。網(wǎng)格視圖是默認(rèn)的商品卡片橫排列表視圖則是每個(gè)商品占一整行圖在左、信息在右。實(shí)現(xiàn)方式不復(fù)雜在同結(jié)構(gòu)的基礎(chǔ)上給容器換一個(gè)類(lèi)名CSS里為不同類(lèi)名下的卡片定義不同布局。比如容器上有g(shù)rid-view時(shí)卡片豎排三列容器變成list-view時(shí)卡片變橫排行。切換類(lèi)名的本質(zhì)是CSS在不同上下文下的樣式覆蓋。.product-grid.grid-view .product-card { width: 23%; /* 豎排卡片樣式 */ } .product-grid.list-view .product-card { width: 100%; display: flex; align-items: center; /* 橫排樣式 */ }JS只要切換product-grid的class再配合一個(gè)小的過(guò)渡動(dòng)畫(huà)效果就非常顯眼。4.3 加入購(gòu)物車(chē)的即時(shí)反饋設(shè)計(jì)列表頁(yè)里每個(gè)商品卡片都放一個(gè)加入購(gòu)物車(chē)按鈕。點(diǎn)擊后的反饋不能只是數(shù)據(jù)變了用戶(hù)看不到反饋就等于沒(méi)生效。我實(shí)操中覺(jué)得最順手的反饋組合有這么幾種按鈕文字瞬間變?yōu)橐鸭尤?1.5秒后恢復(fù)右上角購(gòu)物車(chē)圖標(biāo)上的數(shù)字1帶一個(gè)彈跳動(dòng)效頁(yè)面右下角浮出一個(gè)小toast提示已成功加入購(gòu)物車(chē)。這三個(gè)效果都不復(fù)雜卻能極大提升交互完成度。toast的實(shí)現(xiàn)方法是創(chuàng)建一個(gè)絕對(duì)定位的div用setTimeout控制它在2秒后漸隱并移除function showToast(message) { let toast document.createElement(div); toast.className toast; toast.textContent message; document.body.appendChild(toast); setTimeout(function() { toast.classList.add(show); }, 10); setTimeout(function() { toast.classList.remove(show); setTimeout(function() { document.body.removeChild(toast); }, 300); }, 2000); }CSS里讓.toast默認(rèn)透明、固定在右下角加上transition實(shí)現(xiàn)淡入淡出效果很自然。4.4 詳情頁(yè)的圖片放大鏡一個(gè)能加分的視覺(jué)交互商品詳情頁(yè)是學(xué)生作業(yè)里最容易做得空的一頁(yè)因?yàn)閮?nèi)容結(jié)構(gòu)簡(jiǎn)單就一張大圖加幾行文字。但加一個(gè)鼠標(biāo)移入放大的效果電商里叫放大鏡頁(yè)面檔次立刻不一樣。原理其實(shí)只有三步在原圖上監(jiān)聽(tīng)mousemove根據(jù)鼠標(biāo)位置計(jì)算放大區(qū)域的位置百分比把大圖背景的background-position按比例移動(dòng)。const smallImg document.querySelector(.detail-img); const zoomBox document.querySelector(.zoom-box); smallImg.addEventListener(mousemove, function(e) { const rect smallImg.getBoundingClientRect(); const x e.clientX - rect.left; const y e.clientY - rect.top; const percentX (x / rect.width) * 100; const percentY (y / rect.height) * 100; zoomBox.style.backgroundPosition percentX % percentY %; zoomBox.style.display block; }); smallImg.addEventListener(mouseleave, function() { zoomBox.style.display none; });如果覺(jué)得實(shí)現(xiàn)放大鏡有點(diǎn)難度詳情頁(yè)的備選方案是做圖片縮略圖切換——下方一排小圖點(diǎn)擊后上方大圖跟著切換。這個(gè)用JS也很容易實(shí)現(xiàn)而且同樣能體現(xiàn)交互感。5. 購(gòu)物車(chē)頁(yè)面的純?cè)鶭S狀態(tài)管理不靠框架也能能買(mǎi)能算購(gòu)物車(chē)是整個(gè)網(wǎng)站里JavaScript含量最高的一頁(yè)也是最能體現(xiàn)編程能力的地方。不用Vue或React純?cè)鶭S也一樣能做出完整可用的購(gòu)物車(chē)邏輯。5.1 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)數(shù)組加對(duì)象購(gòu)物車(chē)的狀態(tài)就是一組數(shù)據(jù)。我把每個(gè)商品抽象成一個(gè)對(duì)象let cartItems [ { id: 1, name: 贛南臍橙, price: 12.8, count: 2, checked: true }, { id: 2, name: 海南貴妃芒, price: 19.9, count: 1, checked: false } ];id用于唯一標(biāo)識(shí)每個(gè)商品name和price用于展示count記錄購(gòu)買(mǎi)數(shù)量checked標(biāo)記是否勾選。后續(xù)所有頁(yè)面交互——數(shù)量加減、刪除、勾選、總價(jià)計(jì)算——都圍繞這個(gè)數(shù)組展開(kāi)。5.2 渲染函數(shù)數(shù)據(jù)變一次頁(yè)面就重畫(huà)一次購(gòu)物車(chē)頁(yè)面的核心原則是數(shù)據(jù)驅(qū)動(dòng)視圖——數(shù)據(jù)變了頁(yè)面就重新渲染。我習(xí)慣寫(xiě)一個(gè)renderCart()函數(shù)每次數(shù)據(jù)有變化就調(diào)用它用數(shù)組map或循環(huán)生成HTML字符串再賦值給tbody的innerHTML。function renderCart() { const tbody document.getElementById(cartBody); let html ; cartItems.forEach(function(item) { html tr tdinput typecheckbox classitem-check>function updateTotal() { let total 0; let selectedCount 0; cartItems.forEach(function(item) { if (item.checked) { total item.price * item.count; selectedCount item.count; } }); document.getElementById(totalPrice).textContent ¥ total.toFixed(2); document.getElementById(selectedCount).textContent selectedCount; }事件綁定用的是事件委托機(jī)制。所謂事件委托就是不給每個(gè)加減按鈕單獨(dú)綁定而是利用DOM事件冒泡讓父容器統(tǒng)一處理。這樣做的好處是即使以后商品數(shù)量變化、DOM結(jié)構(gòu)重新渲染事件也不會(huì)丟失。document.getElementById(cartBody).addEventListener(click, function(e) { const target e.target; const id parseInt(target.getAttribute(data-id)); if (!isNaN(id)) { if (target.classList.contains(plus)) { changeCount(id, 1); } else if (target.classList.contains(minus)) { changeCount(id, -1); } else if (target.classList.contains(btn-delete)) { deleteItem(id); } } });5.3 數(shù)量加減和刪除不可變更新加減和刪除的邏輯就是對(duì)數(shù)組做操作然后再渲染。function changeCount(id, delta) { const item cartItems.find(function(item) { return item.id id; }); if (item) { item.count delta; if (item.count 1) { item.count 1; // 最少不能為0 } } renderCart(); } function deleteItem(id) { cartItems cartItems.filter(function(item) { return item.id ! id; }); renderCart(); }這里給count加了最小值1的判斷防止用戶(hù)一路減到0甚至負(fù)數(shù)。這是一個(gè)非常實(shí)際的邊界情況作業(yè)里處理好了會(huì)顯得很?chē)?yán)謹(jǐn)。5.4 全選與反選全選按鈕的邏輯也很直白點(diǎn)擊全選時(shí)如果當(dāng)前不是全選狀態(tài)就把所有商品的checked設(shè)為true如果已經(jīng)是全選就全部設(shè)為false。同時(shí)全選框的狀態(tài)要在每次渲染時(shí)根據(jù)當(dāng)前數(shù)據(jù)重新計(jì)算保證顯示和實(shí)際數(shù)據(jù)一致。document.getElementById(selectAll).addEventListener(change, function() { cartItems.forEach(function(item) { item.checked this.checked; }, this); renderCart(); });5.5 localStorage持久化刷新不丟數(shù)據(jù)購(gòu)物車(chē)刷新就清空了對(duì)于作業(yè)來(lái)說(shuō)能用但如果你想讓頁(yè)面看起來(lái)更完整加上localStorage持久化是很加分的。思路是在數(shù)據(jù)變化的每個(gè)操作后面都調(diào)用一個(gè)saveCart()函數(shù)把cartItems存進(jìn)localStorage頁(yè)面加載時(shí)再讀出來(lái)初始化。function saveCart() { localStorage.setItem(fruitCart, JSON.stringify(cartItems)); } function loadCart() { const saved localStorage.getItem(fruitCart); if (saved) { cartItems JSON.parse(saved); } }在changeCount、deleteItem等數(shù)據(jù)變化的函數(shù)內(nèi)部調(diào)用saveCart()然后loadCart()放在頁(yè)面初始化的地方執(zhí)行。這個(gè)方案沒(méi)有引入任何復(fù)雜的依賴(lài)但對(duì)數(shù)據(jù)持久化的表達(dá)能力比純頁(yè)面狀態(tài)高一個(gè)臺(tái)階。6. 登錄頁(yè)的表單校驗(yàn)三個(gè)小細(xì)節(jié)把交互體驗(yàn)做滿(mǎn)第六頁(yè)登錄/注冊(cè)頁(yè)是表單交互的展示窗口。一個(gè)完整的表單校驗(yàn)需要兼顧即時(shí)反饋和提交時(shí)的整體校驗(yàn)。6.1 即時(shí)校驗(yàn)與提交校驗(yàn)的配合我的習(xí)慣是blur事件做單項(xiàng)校驗(yàn)鼠標(biāo)移開(kāi)輸入框立刻出結(jié)果submit事件做整體校驗(yàn)有錯(cuò)就不允許提交。單項(xiàng)校驗(yàn)的結(jié)果通過(guò)一個(gè)span放在輸入框下方展示不通過(guò)時(shí)文字變紅輸入框邊框也變紅。以手機(jī)號(hào)校驗(yàn)為例document.getElementById(phone).addEventListener(blur, function() { validatePhone(); }); function validatePhone() { const phone document.getElementById(phone).value.trim(); const msg document.getElementById(phoneMsg); const pattern /^1[3-9]\d{9}$/; if (!phone) { msg.textContent 手機(jī)號(hào)不能為空; return false; } else if (!pattern.test(phone)) { msg.textContent 請(qǐng)輸入正確的手機(jī)號(hào)碼; return false; } else { msg.textContent ; return true; } }6.2 密碼強(qiáng)度檢測(cè)密碼強(qiáng)度檢測(cè)是一個(gè)很多人想做但不會(huì)拆解的功能。實(shí)現(xiàn)思路是給密碼框綁定input事件每次輸入時(shí)用多條正則分別判斷長(zhǎng)度、小寫(xiě)字母、大寫(xiě)字母、數(shù)字、特殊字符然后根據(jù)命中條件數(shù)量顯示弱/中/強(qiáng)。function checkPasswordStrength(pwd) { let score 0; if (pwd.length 8) score; if (/[a-z]/.test(pwd) /[A-Z]/.test(pwd)) score; if (/\d/.test(pwd)) score; if (/[^a-zA-Z0-9]/.test(pwd)) score; const strengthBar document.getElementById(strengthBar); if (score 1) { strengthBar.textContent 弱; strengthBar.className strength weak; } else if (score 2 || score 3) { strengthBar.textContent 中; strengthBar.className strength medium; } else { strengthBar.textContent 強(qiáng); strengthBar.className strength strong; } }6.3 獲取驗(yàn)證碼的60秒倒計(jì)時(shí)登錄頁(yè)的獲取驗(yàn)證碼按鈕倒計(jì)時(shí)是一個(gè)很典型的定時(shí)器應(yīng)用let codeBtn document.getElementById(getCode); let countdown 60; let timer null; codeBtn.addEventListener(click, function() { if (timer) return; codeBtn.disabled true; codeBtn.textContent countdown s后重新獲取; timer setInterval(function() { countdown--; codeBtn.textContent countdown s后重新獲取; if (countdown 0) { clearInterval(timer); timer null; countdown 60; codeBtn.disabled false; codeBtn.textContent 獲取驗(yàn)證碼; } }, 1000); });這組定時(shí)器邏輯完整覆蓋了啟動(dòng)、運(yùn)行、歸零恢復(fù)幾個(gè)階段是一個(gè)能獨(dú)立跑通的小組件。6.4 密碼可見(jiàn)性切換密碼框右側(cè)的小眼睛切換明文/密文是用type屬性切換實(shí)現(xiàn)的。默認(rèn)是password點(diǎn)擊后變成text再點(diǎn)變回password。真實(shí)的密碼可見(jiàn)切換還可能涉及光標(biāo)位置問(wèn)題但作業(yè)場(chǎng)景里用type切換足夠。7. 扣分雷區(qū)與交作業(yè)前的自檢清單7.1 最常見(jiàn)的問(wèn)題有哪些根據(jù)我的觀察網(wǎng)頁(yè)設(shè)計(jì)作業(yè)的扣分往往不是出在不會(huì)做而是出在沒(méi)檢查。常見(jiàn)問(wèn)題大致有問(wèn)題類(lèi)型具體表現(xiàn)影響程度圖片外鏈用網(wǎng)絡(luò)圖片鏈接斷網(wǎng)就顯示空白嚴(yán)重路徑錯(cuò)誤images/xxx.jpg寫(xiě)成image/xxx.jpg嚴(yán)重內(nèi)聯(lián)樣式泛濫每個(gè)標(biāo)簽都寫(xiě)styleCSS文件形同虛設(shè)較嚴(yán)重JS控制臺(tái)報(bào)錯(cuò)某個(gè)函數(shù)調(diào)用找不到DOM節(jié)點(diǎn)導(dǎo)致后續(xù)代碼不執(zhí)行嚴(yán)重頁(yè)面間缺乏導(dǎo)航6頁(yè)之間沒(méi)有互相跳轉(zhuǎn)的鏈接嚴(yán)重標(biāo)簽嵌套錯(cuò)誤ul直接包div、a標(biāo)簽包a標(biāo)簽中等圖片沒(méi)有alt圖片無(wú)法加載時(shí)顯示破圖中等命名隨意頁(yè)面文件叫aa.html、bb.html中等7.2 提交前15分鐘項(xiàng)目自檢我建議提交前按下面的順序過(guò)一遍全程大概15分鐘打開(kāi)每個(gè)HTML文件按F12打開(kāi)控制臺(tái)確認(rèn)沒(méi)有紅色報(bào)錯(cuò)逐頁(yè)點(diǎn)擊所有導(dǎo)航鏈接確認(rèn)6個(gè)頁(yè)面都能互相訪問(wèn)把所有圖片路徑復(fù)制到瀏覽器地址欄里驗(yàn)證一遍確保圖片不依賴(lài)網(wǎng)絡(luò)縮小瀏覽器到手機(jī)寬度確認(rèn)頁(yè)面沒(méi)有大面積橫向溢出用不同瀏覽器打開(kāi)Chrome和Edge即可確認(rèn)布局沒(méi)有太大差異檢查文件名統(tǒng)一用英文小寫(xiě)加連字符不要有空格和中文確認(rèn)CSS和JS文件是外部文件HTML里只有結(jié)構(gòu)和少量?jī)?nèi)聯(lián)腳本。7.3 如果還有時(shí)間這三點(diǎn)能讓作品再上一個(gè)臺(tái)階第一為頁(yè)面添加一個(gè)簡(jiǎn)單的favicon.ico標(biāo)簽頁(yè)上有一個(gè)小水果圖標(biāo)作品精致度會(huì)明顯提升。第二給商品卡片做一個(gè)售罄的灰化狀態(tài)。把某個(gè)商品標(biāo)記為售罄過(guò)濾或點(diǎn)擊時(shí)給出提示這屬于業(yè)務(wù)邏輯層面的思考很能展示綜合能力。第三當(dāng)頁(yè)面高度不足時(shí)確保頁(yè)腳仍能固定在底部或保持視覺(jué)協(xié)調(diào)。簡(jiǎn)單方案是body用flex布局讓main區(qū)域flex: 1自動(dòng)撐開(kāi)。關(guān)于css優(yōu)惠券圓切這種效果其實(shí)就是一個(gè)用徑向漸變?cè)诳ㄆ锹淅锴谐霭雸A鋸齒的視覺(jué)技巧。如果促銷(xiāo)卡片上想做出優(yōu)惠券撕邊的感覺(jué)可以試試.coupon { background: radial-gradient(circle at 10px 10px, transparent 10px, #fff 11px); border-radius: 8px; padding: 20px; }這是一個(gè)不加分但很有意思的小技巧能做出來(lái)會(huì)讓頁(yè)面很有設(shè)計(jì)感。最后聊幾句實(shí)操感受做完一個(gè)六頁(yè)的完整網(wǎng)站我最深的體會(huì)是網(wǎng)頁(yè)設(shè)計(jì)期末作業(yè)真正考察的并不是你會(huì)用多少新特性而是你有沒(méi)有把一個(gè)東西從頭到尾完整做出來(lái)的能力。很多同學(xué)容易在開(kāi)頭糾結(jié)——用什么布局方式、要不要學(xué)一下動(dòng)畫(huà)庫(kù)、要不要引入Bootstrap——其實(shí)這些都是次要的。先把六個(gè)頁(yè)面全部做出來(lái)把每個(gè)頁(yè)面里最重要的一個(gè)核心交互跑通再去談優(yōu)化和加分這個(gè)順序不能反。我是建議第一次做這類(lèi)作業(yè)時(shí)全程手寫(xiě)代碼不要復(fù)制模板。模板確實(shí)快但當(dāng)你被布局卡住、報(bào)錯(cuò)報(bào)得一頭霧水的時(shí)候那個(gè)排查問(wèn)題的過(guò)程才是這門(mén)課真正留給你的東西。把CSS布局想成一個(gè)貨架擺放問(wèn)題把JavaScript想成一個(gè)個(gè)事件響應(yīng)和狀態(tài)變化你會(huì)慢慢發(fā)現(xiàn)網(wǎng)頁(yè)設(shè)計(jì)這件事跟搭積木很像——有了清晰的規(guī)劃和統(tǒng)一的規(guī)范后面每一塊都能?chē)?yán)絲合縫地拼上去。水果超市這個(gè)題目本身不難難的是愿不愿意靜下心把細(xì)節(jié)做扎實(shí)。希望這篇拆解能幫你在交作業(yè)前少走幾段彎路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
超碰九色| 色99在线观看| 97人凄人人操人人爽| 激情婷婷五月久久| 九九re精品视频在线观看| 欧美成人精品A片免费一区99| 99综合一区| 色婷婷综合久久久久| 青青草青青草五月天| 色色色热热热| 99亚洲日韩| 成人必爱视| 色色婷婷色色| 亚洲最大视频网站| 欧美精品狠狠色丁香婷婷| 五月天久久综合| 激情婷婷六月| 色五月婷婷啪啪五月| www.综合久久.com| 六月丁香六月婷婷欧美| 9伊人网| 99色色| 91爱操| 婷婷王月天影院| 欧美色狠婷久| 色五月开心五月激情五月| 丁香五月中文字幕| 亚洲AV人人操| 色狠狠色综合久久久绯色AⅤ影视| 欧州婷婷五月天综合| 九九av| 丁香五月天激情免费在线观看AV777| 久久性爱视频免费| 欧美英丁香开心快乐六月天网| 久久久这里都是精品| 亚洲成人av在线播放| 影音先锋AV资源男人站| 玖玖爱导航| 九九热视频精品999| 久九男女天堂| 超碰A V在线| 成人做爰黄A片免费看直播室男男 久草热8精品视频在线观看 | 91九色熟女| 国成人网| 日韩欧美老妇性视频91久久久| www。久久久久一b。Cc| 色播激情| 99在线免费视频| 色色九区| 亭亭五月丁香综合欧美| 色日本丁香婷婷| 香蕉婷婷色五月| 啪啪色激情五月天| 九九这里精品| 欧美色色色色色| 五月六月丁香激情| 黄网免费观看| 丰满老熟妇BBBBB搡BBB| 夜色五月天| 99热99艹在线观看| 五月丁香中文婷婷中文| 超碰在线成人| 天天添天天摸天天天天做| 99精品无码网站| 色丁香婷婷美女视频网站| 美女主播野战视步页| 另类丁香五月天区图| 久热最新视频| 丁香激情久久| 成人 在线观看国产| 风流少妇A片一区二区蜜桃| 天天日天天爽| 婷婷丁香五月91| 亚洲综合成人网| 精品人妻伦| 思思热精品免费视频| 五月丁香黄色| 五月激情啪啪| 五月色亭丁香| 亚洲丁香婷婷五月天综合色| 久播影院免费观看电视剧大全最新网| 欧美日综合| 五月色丁香| 欧美电影在线观看| 九九热啪啪| 好好干Av| 色综合久久88色综合天天99| 少妇人妻人伦A片| www.金莲av| 久婷自拍视频| 久久九九99字幕| 丁香婷婷色五月| 夜夜 操无码| 国产午夜成人AV在线播放| 97干资源在线观看| 加勒比色色| 色五月在线视频观看| 强伦轩人妻一区二区电影| 日本天天操| 成人免费网站免费看| 超碰在线人妻| 五月精品| 婷婷婷五月香蕉| 婷婷五月天色色| 精品色色网| 五月丁香婷婷婷激情爱爱| 久久草大香蕉| 精品久久99| 五月精品免费XXX| 先锋资源婷婷| 日本人妻操| 99热99热在线观看| 99热在线只有精品| 五月婷婷色影院| 五月丁香亚洲综合网| 91综合国免费久入| 日韩欧美一道四区中文字幕| 婷婷五月天激情免费在线观看| www久久久| 抽插特写| 狠狠撸激情综合丁香五月天俺来啦| 五月婷婷影| 97五月婷| 99思思热只有在这里看| 99在线精品免费视频| 人伦30P| 男女久久婷婷五月天| 五月综合色| 欧美123区免| 综合狠狠干| 99热国产精品| 五月婷在线| 婷婷五月六月| 综合久久六月| 狠狠色噜噜狠狠狠888| 激情综合网婷婷五夜| 轮奸综合网| 丁香婷婷九月| 九九激情网| 婷婷激情综合| 久久久久8888| 东京热免费视频| 超碰猛烈的性猛交| 色情五月天丁香社区| 激情五月天第四色| 66色在线日韩| 色五月天激情| 九九99精品视频在线观看| 九月婷婷激情| 亚洲免费婷婷| 26uuuavcom| 激情色播| 亚洲久热无码| 99视频91| 五月激情偷拍| 天天干天天日天天插| 五月激情影院| 丁香五月天在线| 久久九九囯产| 婷色五月| 99热九九在线| 天天肏高清在线| 五月婷婷激情中文字幕| 久热久| 婷婷丁香18| 九九人妻福利| H亚洲| 精品无吗va视频免费观看| 日韩性爱无码| 色色a| 激情小说五月天社区丁香 | 91 久热| 91精品综合久久久久久五月丁香| 国产视频福利| 99久视频| 亚洲激情五月天| 开心五月婷婷婷美女| 99re视频在线播放| 五月婷婷,六月激情| 欧美性生交XXXXX无码小说| www.狠狠干com| 无码一级片| 婷婷激情在线| 五月天婷婷影院影院| 欲色人妻| 狠狠色成人影片| 久久99这里只有精品视频 | 99爱最新免费视频在线观看| 亚洲六月色婷婷| 超碰在线99| 五月丁香va| www久久久久久久97| 久久久久久久综合狠狠综合| 九九热内射| 色综合久久44| 另类综合婷婷五月天欧美视频| 综合五月丁香97| 五月丁香啪啪| 99精品网| 岛国av电影网站| 欧美久久网| 成人综合网站| 国产在线中文字幕| 很很干夜夜干| 日本成人噜噜噜噜噜| 97狠狠碰| 亚洲中文AV| 亚洲天堂久久| 六月激情综合| 丁香六月亚洲综合| 五月丁香婷婷激情在线| 久久9久| 国产婷婷色综合AV蜜臀AV | 色香欲综合| 热久久77777| 色五月婷婷青娱乐| 丁香五月ⅤA久久久| 激情五月天婷婷| 久久久噜噜噜久久人妻| 九九视频这里有精品| 狠狠五月激情在线| 亚洲第一黄网| 天天噜日日噜综合无码| 九九热在线99| 91互操| 日本色超碰| 欧美婷婷| 国产69久久久欧美黑人A片 | 三级黄网站| 五月婷婷第四色| 在线综合婷婷| 五丁香激情综合| 色婷婷丁香网| 婷婷五月成人色综合| 91婷婷色| 99久久久免费| 五月婷婷基地| 激情五月天久久丁香| 亚洲无码11| 九九热青青草| 天天综合久久| 婷婷97碰碰| 97碰人人操| 久久99精品久久久| 成人在线视频一区| 日韩色久| 日韩色色小视频| 婷婷放心五日爱| 97操在线视频| 婷婷色五月综合丁香| 婷婷五月av| 久草婷婷| 婷婷五月天Av| 久久机只有这里精品| 九月婷婷综合八月丁香在线观看| 春色激情第四色| 婷婷五月天伊人在线| 久久视频婷婷视频| 五月婷婷久久激情| 思思热久久久在线| 色婷婷综合亚洲| 久久激情天堂| 超碰91在线| 99热这里只有精品2| 五月婷婷激情综合| 免费看成人AA片无码视频吃奶| 99这里有精品视频| 九月婷婷综合在线| 久久色婷婷| 五月婷婷另类| 婷婷五月色网| 丁香六月啪啪啪| 婷婷五月丁香综合| 屁股翘好撅高迎合跪趴| 久久日曰| 99热大全在线观看| 可以免费看AV网站| 丁香五月色色| 艳妇野外情欲放荡HD| 96自拍视频九色在线观看| 九九成人电影婷婷| 五月天婷婷基地综合网| 五月丁香激情五月天| 色五月婷婷五月久久| 亚洲综合婷婷| 久久999久久999久久999久久| 高清视频一区| 色五月婷婷777| 4399精品一区二区| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 婷婷狠狠干| 日本爆乳片手机在线播放| 九九久久99精品免费观看www| 婷婷午夜天| 99超级碰免费视频| 99啊精典免费视频| 天天操夜夜夜拍拍拍| 丁香 婷婷 亚洲 熟女| 色色色色色网| 亚洲乱码日产精品BD| 久久爱综合| 大香蕉伊人99| 天天插AV丝袜中| 色五月六月| 天天草女人| 婷婷五月天网址| 丁香五月天天| www.97碰碰com| 亚洲无AV在线中文字幕 | 性视频久久| 在线观看国产高清视频免费网站| 涩九九九九| 情婷婷五月天在线| 婷婷久久亚洲| 五月婷婷色色网址| 激情五月色综合国产精品| 婷婷五月激情中文字幕| 色婷丁香91| 色综合久久天天综合网| 狠狠干在线| 涩五月婷婷| 精品人妻在线| www.国产色| 日本九九九九| 91爱操| 五月丁香黄色| av高清无码| 色婷婷免费观看| 狠狠操狠狠做| 99riav 亚洲| AV在线观看网站| 米奇影视五月天| 96丁香六月婷婷蜜桃综合久久| 日本在线wwww| 99爱在线观看视频| 丁香婷婷六月| 色久激情在线| 久久五月婷6 9| 日韩欧美一区二区三区四区| 久9热| 青青日韩| 91色在线 | 日韩| 欧美97超碰| 操笔无码| 在线观看国产高清视频免费网站| 丁香九月综合| 久99热| 丁香六月色香蕉视频| 日韩高清成人| www.精品99| 久久综合影院| 97人凄人人操人人爽| 97色色色| 色噜噜夜夜夜综合网| 五月丁香六月婷婷综合网站| 日韩美一级毛卡片| www.五月天| 久久婷婷东京热大香樵| 色婷婷五月天在线观看| 九九热精品99| www,天天干| 日本色道视频网站| 欧美成人精品A片免费一区99| 亚洲五月天,激情视频| 99热老司机| 精品成人在线观看| 天天拍天天操| 婷婷亚洲五月丁香综合在线| 狠狠噪| 26uuu欧美宗合| 久久婷婷的综合色丁香五月| 丁香 久久| 日本精品99网站| 91Chinese在线| 九九色色网| 九九久久99| 五月开心婷婷网| 香蕉婷婷| 婷婷五月天啪啪| 六月激情丁香一道本7777| WWW.17C亚洲精品| 亚洲第一黄网| 碰超亚洲| 五月丁香综合中文| 操操操av| 日日噜噜久久婷婷五月天| www激情| 亚洲 视频 导航 一区| 亚洲天堂热| www。狠狠干。com| 五他月天啪啪啪| 99热这里只有精品1025| 婷婷色五月天综合网| 三日本无码| 色色色综合| 开心五月婷婷激情| 色综合婷婷99| 亚洲综合色色色| 好好日激情五月天| 91久久久久久久久久| 另类专区在线观看| 综合六月激情婷婷| 性韩日色婷婷五月天激情啪啪XXX| www.色五月| 99亚洲无码| 久久9视频欧美| 人妻丰满精品一区二区A片| 激情小说视频图片| VA日本视频| 五月刺激丁香月综合| 色天堂在线| 婷婷天天舔| 色99免费视频中文| 青草视频在线播放| 五月综合久久| 五月激情婷婷国产精品久久久久久| 色婷婷基地| 思思干精品| 中文字幕婷婷| 婷婷狠狠干| 久久老码第一| 99日本精品视频热| 伊人色五月| 国色天香成人网| 六月丁香综合| 26uuu在线观看| 久久五月天合网| 99久精品| 婷婷五月丁香综合瑟瑟| 乱岳熟女50岁| 天天干狠狠| 久久久这里有精品| 丁香五月婷婷在线视频| 婷婷的五月天另类视频| 91碰碰碰| 九九色色网| 卡视频1区2区| 婷婷五月天久| 97碰精品| 综合 激情 婷婷| 色播五月天激情| 色色综合激情| 久久在线大香蕉| 丁香五月精品| 99热日韩| 天天操狠狠操| 色婷婷综合网站| 无码人妻一区二区三区四区| 亚洲 精品 综合 精品| 成人综合视频在线| 色欲五月婷婷| 亚洲综合草草| 超碰在线免费| WWW99热| 成人在线日韩欧美| 在线天堂9| 婷婷五月天AV在线| www.色9| 99热精品网| 一级性感毛片| 久久思思99| 色原狠狠综合| 欧美日韩成人在线网站| 五月丁香激情婷婷| 6月丁香婷婷| 狠狠色噜噜狠狠| 天堂草在线看www| 婷婷五月天中文字幕| 亚洲激情精品| 五月天激情网图片| 日本久久婷婷| 99re这里只有| 国产精品第一国产精品| 97色精品视频 | 人人干人人干骚美女| 99操| 日本噜噜色网| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 色色色免费视频| 五月激情六月宗合| 影音先锋噜一噜| 丁香五月天激情| 99激情| 无码AV免费精品一区二区三区| 蜜臀AV在线观看| 懂色av粉嫩av蜜臀av| 国内精品99| 人妻中文字幕精品| 二色av| 激情无码五月天| 色婷婷国色天香综合| 人妻VideOssS人妻| 狼人狠狠操| 99色视频| 丁香五月婷婷激情蜜桃| 久久婷五月婷| 色天天综合成人网| 9l视频自拍九色9l视频自拍九色9l社区| 九九aV| 欧美成人精品A片免费一区99| 婷婷五月综合国产精品| www、丁香五月天| 久久66er久久| 性色五月天| 国产精品视频免费看| 婷婷色五月激情| 天堂AV在线看| 六月激情综合| 色一情一乱一乱一区9| 99热精品在线播放| 欧美国产一区二区三区| 99热97| 91干在线视频| 天堂爱爱| 久月婷婷| 亚洲色五月婷婷| 色五月婷婷五月丁香五月激情五月视频| 五月丁香六月激情综合在线| www色色com| 五月天丁香婷婷视频网址| 超碰九九热| 伊人午夜综合色啪| 八戒青柠影视剧在线观看| 久久激情婷婷| 五月天婷婷久久综合| 九色自拍| 国产99久9在线| 五月丁香六月婷婷综合免| 亚洲综合激情五月久久| 大伊香蕉精品视频在线 | 色色色精品无码区| 青青草轻轻操| 婷婷综合另类| 这里只有精彩视| 九九热精品| 国产精品丝| 丁香九月婷婷色| 激情五月天网站| 婷婷久久性爱| 五月天色丁香| 九九美女视频| ss视频xx91| 中文字幕按摩做爰| ay2区| 丁香婷婷五月色成人网站| 亚洲成人丁香花| www.狠狠操.con| 99精色| 黄色激情久久| 亚洲乱码w在线观看| 99热99这里有免费的精品| 亚洲婷婷五月天| 97碰| 91人人爽狠狠狠| 国产综合丁香五月天| 亚洲婷婷乱乱丁香| 久久色大香蕉| 九九色视频| 97色精品视频| 久久精品66| 久久全意婷婷| 可以免费看的av网站| 97色干在线观看| 日韩抽插操逼| 无码99| 天天草天天爱| 色青青电影色五月| 亚洲欧州色情在线观看| 亚洲视频久久| 青青草原伊人网| 97日本在线| 99视频只有精品| 97婷婷在线| 在线观看免费狠狠色丁香香综合| 久久思思99| 婷婷六月天| 激情爱爱网站超大免费| 亚洲成人影视在线观看| 色综合色| 亚洲乱码日产精品BD| 丁香伊人激情| 久久久日韩特色特黄AAAA| 亚洲成人在线五月天| 九九美女视频| 色热久| 激情五月深爱五月观看| 亚洲无AV在线中文字幕| 激情综合六月| 成人在线综合| 亚洲超碰在线| 五月六月激情| 91网站黄| 性生生活大片又黄又| 夜夜操,天天撸| 五月婷婷色色网址| 91chinese在线| 精品视频99看在线视频| 1024AV视频| 成人AV中文字幕| 婷婷丁香色五月亚洲| 九九热精品| 丁香五月欧美色综合| 99热全是精品| 大香蕉九九| 色综合久久天天综合网 | 性婷婷| 激情六月婷婷啪啪| 人人操97| 五月婷婷欲色| 九九热a| 五月丁香婷婷欧美色图视频五月丁香777电影 | 狠狠人妻色综合| 久久亚洲色导航| 九九久久腿| www色五月| 五月丁香六月婷婷网站| 色色综合网站| 亚洲成人av在线观看| 日本99久久| 婷婷五月天激情视频| 色色色婷婷五月| 丁香婷婷综合激情五月色| 亚洲热视频| 狠狠色丁香99| 九九九日本熟女| 一级黄色片看看| 性色五月天| 99热这里只有精品免费观看| 色色网站免费在线视频| 97干在线观看| 任我干视频在线观看| 99热网站| 激情五月天色播| AⅤ色区| 大香蕉520| 国产三级在线播放| 免费看欧美成人A片无码| 久久婷婷成人| 色播五月婷婷| 五月天社区狠狠| 色色色视频免费无码 | 五月丁香婷婷婷婷综合网| 国产成人高清| 青青操丝袜美腿| 亚洲乱码日产精品BD| 99久视频| 亚洲黄色精品| www.色婷婷| 天天操夜夜爽歪歪| www狠狠| 狠狠狠狠狠狠草| 欧美色图45678| 色色色色色五月丁香| 欧美激情-区二区三区| 久久久99精品免费观看| 婷婷综合网| 三级三久久线久久99久目本WW| 五月天婷婷影院影院观看| 六月丁香深深爱| 婷婷五月色花丁香社区| 天天色天天爽| 久久激情综合| 亚洲 25P| 丁香五月亭亭六月综合激情网| 超碰chaompinm| 精品久久久999| 极品色丁香| 中文字幕五月久久婷| 操操熟女| 天天色综| 九色七七| 激情五月综合网| 国产91视频| 亚洲精品视频在线| 人人色婷婷五月天| 南京搡BBBB搡BBBB| 婷婷涩五月天综合| 色婷婷丁香五月天| 婷婷网五月天| 天堂中文国产| 久久丁香五月天| 99色综合| 九九久久9 9在线观看| 97午夜一区二区| 97色综合| 九九大香蕉黄色影院| 欧美精产国品一二三区| 精a品a视a频| 加勒比色色| 丁香五月天啪啪激情综和网| 久久国产色| 啪色综合| 日日干日日| 日本三级成人秘书精品片| 人妻有码乱操| 国产精品日日躁夜夜躁| 五月丁香久人妻中文| 亚洲综合网激情五月天| 色欲久久久久| 色色丁香婷婷综合| 久久婷婷五月天| WWW.五月com| www91在线| 高潮毛片遮挡费高一百度| 丁香五月瑟瑟| 欧美婷婷五月天| 婷婷激情四射| 久久婷婷九月国产精品| 九色激情网| 五月婷婷在线视频免费观看| 五月色精品| 欧美五月婷婷| 激情AV网| 8区视频在线| 密乳视频| 人人摸人人操人人爽| 最近中文字幕2019视频1| 狠狠色噜噜狠狠亚洲A∨| 超碰人人在线| 99视频网| 天天操综合网| 色欧美日| 激情校园 亚洲| 激情网五月天| 国产91资源在线| 9久久久久| 丁香涩涩五月天| 五月丁香婷婷综合久久| 1024欧美看片| www.婷婷网| 深爱激情综合| 电影91久久久| 亚洲婷婷五月天在线激情综合网| 狠狠干综合网| 丁香五月AV| 欧美天堂久久| 久久思思热视频| 久久天天| 久久永久视频| 丁香五月天啪啪| 99色爱| 性韩日色婷婷五月天激情啪啪XXX| 无码人妻一区| 日本少妇裸体做爰高潮片| 免费婷婷| 色五月婷婷一二| 激情五月天。| 亚洲视频丁香网va| 天天综合在线网| 光棍影院日韩精品| 色五月综合激情| 亚洲亚洲人成综合网络| 99五月丁香丁| 欧洲亚洲免费视频9| 色婷婷另类| 久久欧洲综合网| 成人国产欧美大片一区| 99 频99热国里只有精品| 在线中文字幕视频| 欧美色九| 日韩淑女人妻luan伦激情精品一区二| 婷婷五月成人社区| 亚洲色小说在线综合| 国产FREESEXVIDEOS性中国| 91狠狠综合久久久久久| 激情婷婷色色| 超碰操网| 五月丁香激情综合网| 99ri精品在线| 久热69| 色日本综合| 深爱婷婷网| 五月丁香最新| 天天日 天天草| 99爱爱网| 猫咪伊人久久| 四虎成人精品永久免费AV九九| 97色啪| 在线观看亚洲视频影院| 成人电影在线免费试看| 91精品无码久久久久久五月天| 五月婷婷激情中文字幕| 国产综合婷婷| 99热精品在线| 涩涩涩,com| 大战熟女丰满人妻AV| 日韩欧美四五区| 国产看真人毛片爱做A片| 思思久久思思| 麻豆忘忧草午夜| 丁香五月婷久久| 久久丁香婷婷五月| 九九九色综合| 涩涩涩,com| 无码AV久久久久久久久| 天天日夜夜爽。| 美女91一起草| 午夜免费试看| 五月丁香好婷婷姑娘综合网| 九九九九九999999| 天天操婷婷| 丁香六月啪啪啪| 热久久这里只有精品| 国产精品噜噜在线视频| 九九99九九精品视频| 九九热最新| 国产成人+综合亚洲+天堂| 婷婷五月影院| 婷婷播5月| 婷婷欧美综合| 成人午夜天| 激情文学五月丁香六月婷婷| 99玖玖免费视频| 五月天成人综合| 啪到高潮激情丁香五月| 97色在线观看视频| 香蕉AV福利精品导航| 精品久久66| 爱射综合| www。五月,com| 久久婷婷成人| 亚洲久久婷婷| 偷拍91九色| 少妇被躁爽到高潮无码文| 五月天色婷婷激情| 婷婷八月激情| 久久久免费图片视频| 日韩成人精品中文字幕| site:ornaments52.com| 狼人婷婷久久| 精品香蕉99久久久久网站| 可以免费观看的AV| 开心五月婷婷六月丁香| 日韩操女| 风流少妇A片一区二区蜜桃| 五月丁香五月婷婷| 开心五月激情站| 久久久性爱网| 成人AV片播放| 亚洲九九夜夜| 六月撸婷婷| 青青草视频福利| 亚洲综合九九| 91干在线视频| 精品香蕉99久久久久网站| 97资源欧美日韩大香蕉超碰一区| 99爱免费视频在线观看| 蜜臀丁香黄色婷婷五月天| 天天射色五月天| 538在线精品| 97婷婷狠狠| 五月停停激情网| 五月六月丁香婷婷在线观看| 综合性爱网| 色婷婷AV久久| 日本少妇裸体做爰高潮片| 91狠狠色丁香婷婷综合久久精品| 婷婷婷婷婷婷婷五月丁香| 五月丁香婷婷无码A∨| 五月丁香av中文| 久久九九婷婷| 亚洲日比视频| 九九在线热九九在线热99热| 97操碰| 99超级碰碰| 丁香五月电影| 五月天色婷婷成人| 欧美97p| 国产va在线视频| 久久人妻久久久久| 久久九九爽| 铁牛TV人妻| 很很色丁香久久停停| 第四色色六月色综合| 久久婷婷青青草| 五月天激情小说网| 五月丁香综合啪啪| 99热一区| 五月丁香六月天| 日本激情ⅩXX免费视频| 丁香五月婷婷色| 97香蕉碰碰人妻国产欧美| 五月天天综合| 国产日韩av片| 午夜成人综合| 玖玖爱综合网| 亚洲美女高潮久久久久久69| 伊人狠狠丁香婷婷综合尤物| 综合网啪啪| av色婷婷| 丁香五月天堂网| 色噜噜狠狠色综| 五月丁香| 99精品视频在线6| 色婷婷久久综合久色| 九九sese| 五月天色五月天| 午夜青草资源| 婷婷色Av| 色五月在线观看| 五月天成人在线播放| pom538精品视频| VA色婷婷| 五月天综合| 国产看真人毛片爱做A片| 国产伦亲子伦亲子视频观看| 婷婷五月,综合伊人| 1024久婷| 色色九九五月天 | 夜夜大香蕉婷婷丁香| 91碰| 白人荫道BBWBBB大荫道| wwwav大香蕉| 激情五月天婷婷丁香| 99久久精品国产色欲| 五月天色色网站| 色欲Av五月天| WWW.99热| 九九色综合网| 99无码视频| 欧美日韩一区二区三区四区| 99精品97| 99在线观看亚洲| 伊人久久五月天| 亚洲午夜电影| 亚洲操操操| 久久99网| www色色com| 99性感视频| 操日视频| 亚洲成av人影院| 五月开心啪啪| 国产色色在线| 久久这里有精品视频| 五月婷婷人人人操| 嫩草AV久久伊人妇女超级A| 丁香婷婷五月综合欧美另类| 欧美日比视频| 丁香五月亚洲无码| 日日夜夜天天| 性色做爰片在线观看WW| 日本色色网站| 亚洲五月天天| 超碰人人干| 国产婷婷色综合AV蜜臀AV| 久久久婷婷色五月资源网| 亚洲成人网站在线观看| 天天精品视频在线观看视频| 欧美在线97| 色级停停| 亚洲激情在线| 99热这里只有精品66| 久久综合激情| 精品99视频| 亚洲AV无码久久精品色欲| 激情人妻综合| 97午夜一区二区| 99综合视频一体| 天天色综网| 青青青在线视频国产| 噜噜狠狠色综合久| 五月天自拍视频| 激情五月综合| 狠狠色九月| 五月婷婷综合色拍| 丁香婷婷深情五月亚洲| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 丁香色色色| 91成人性爱视频| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 婷婷丁香激情综合色情| 天天狠天天叉| 激情98色婷婷五| 九九蜜臀精品| 婷婷永久在线| 亚洲AVDVD| av免费人人| 国产午夜成人AV在线播放| 五月丁香色色| 无码髙清| 94干大香蕉| 五月天激情av| 丁香婷婷成年| 伍月激情天| 99热首页| 91色久| 成人婷婷| www激情网站| 丁香五月激情婷婷婷婷在线观看| 五月丁香婷婷五月色| 七七九九色色| 精品久久99| 色情综合网| 久久激情视频| 五月丁香啪啪激情| 久草性爱| 玖玖五月| 97超碰在线免费观看| 欧美激情伊人| 中文av网站| 综合网狠狠| www婷婷| 超碰在线观看成人视| 亚洲视频99| 大香久久伊人网| 丁香五月亚综合图片| 欧美色必爱| 情婷婷五月天| 激情超碰网| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 五月天婷婷在线播放| 99热偷拍| 成人在线99| 亚洲美女婷婷五月天| 婷婷色导航| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 九九久久玖玖爱| 五月婷婷激情视频| 91疯狂操操操操| 五月丁香婷婷婷激情爱爱| 婷婷五月丁香花综合| 天堂色婷婷| 久久激情综合| 99热99在线| 伊人婷婷色激情丁香| 任你弄在线视频免费| 久久九九视频| 九九av在线| 免费观看亚洲AV片| 激情丁香婷婷六月天| 99免费超碰在线| 五月天色婷婷成人| 亚洲成人av在线播放| 九九五月天| 色色色在线播放| 新激情五月天| 久久色亭亭五月天| www.zbzhongsen.com| 五月激情综合网| 丁香六月五月婷婷| 狠狠99| www.色综合| 激情婷婷五月天日本系列| 婷婷色片| 丁香五月社区| 五月激情网络| 日韩超碰在线| 亚洲亚洲人成综合网络| 少妇人妻综合色6699| 123草逼网| 成人无码精品1区2区3区免费看| 丁香婷婷五月综合影院| 伊人婷婷五月天av| 91精品综合久久久久久五月丁香| 开心五月婷婷在线| 婷婷成人AV| A片试看120分钟做受视频红杏 | 综合网色| 国产五月天激情小说| 黄色毛片精品| 天天拍天天操| 天天爽天天日天天舔| 九九香蕉网| 影音先锋 萱萱| 亚洲成人中心| 婷婷五月丁香婷婷| 久久99激情| 丁香情色五月| 五月婷婷丁香综合| 国产日日操夜夜操的肉棒视频| 色五月超碰| 综合久久激情久久| 激情综合网五月婷婷| 婷婷五月天成人网站| 日韩啪啪视频| 久久久久久婷| 婷婷激情五月| 9九色首页| 国产片色| 婷婷五月69| 亚洲综合成人网站| 婷婷五月花| 丁香六月婷婷综合| 久久六月天| 五月婷无码| 色婷网| 亚洲Av成人在线观看| 无码人妻AV久久久一区二区三区| 91.com男女操| 亚洲天天综合| 丁香色啪综合| 玖玖视频福利| 五月丁香色综合| 色综久久久| 国产欧美性成人精品午夜| 99精品热视频| 五月亭亭开心网| 久热播这里只有精品| 久久五月天合网| 91丨九色丨高潮丰满日本| 久久网址99热| 免费91久久精品| 777精品久无码人妻蜜桃| 五月天激情四射| 操九色| 亚洲精品永久久久久久| 天堂AV在线看| 啪啪啪五月天| 性婷婷| 99精品这里只有免费视频| 成人 在线 日韩| 婷婷射图五月天| 日韩三及成人AV片| 丁香99| 九月停停| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 97国产精品女人碰碰| 久热99狠| 91日在线视频| 97人碰人操| 桃色五月婷婷| 日韩色色色色| 无码 av电影| 国产精产国品一二三在观看| 无码色| 99精品视频在线观看| 少妇做爰免费视看片| 99天堂网| 国产熟妇的荡欲午夜视频| 欧美大肥婆大肥BBBBB| 大地9中文在线观看免费高清 | 日韩人人操| 日本在线观看aaa 99| 亚洲激情六月丁香| www久久久久久久| 波多野结衣成人作品在线| 欧美日韩精品一区二区三区钱| 7777久久亚洲中文字幕| 99热官网精品在线| 亚洲第二AV| 99热性色| 色综合激情| 婷婷丁五月| 激情图片婷婷| 密桃激情五月天综合网| 色色网五月激情| 婷婷五月免费视频| 女婷久久| 99操视频| 韩日另类| 激情五月天色色色| 操比激情五月综合| VA五月激情在线| 色五月婷婷网| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 99热综合| 日韩在线视频9色| 丁香五月www| 色婷婷成人网| 99久久国产成人精品| 亚洲综合婷婷五月天| 五月丁香中文| 亚洲国产成人综合| 影音先锋女人AA鲁色资源| 色婷婷很很丝袜| 亚洲熟女乱色综合亚洲网站| 91一起操| 亚洲精| 夜夜爽天天爽| 久久只有18视频| 久久无码成人| 婷婷九色| 婷婷五月丁香五月丁香| 婷婷丁香五月,狠狠综合| www.9797国产| 九九亚洲视频| 久草婷婷视频| 丁香五月1页| 日韩色色视频www| 午夜免费试看| 丁香综合| 中文字幕不卡+婷婷五月| www.狠狠操.com| 婷婷成人五月天成人文学| 久久婷综合| 色综合久网| 亚洲五月天第一综合干| 日日夜夜小色哥| 久久久婷婷| 亚洲超碰中文字幕| 99热欧美| 午夜婷婷六月天| 婷婷五月丁香香蕉| 大香蕉视频婷婷| 丁香蜜臀黄色婷婷五月天| 婷婷六月激情综合| 亚洲精品视频在线播放| 爱狠射| 玖玖资源部在线播放| 五月天色婷婷综合| 无码人妻少妇色欲AV一区二区| 热久69| 襙逼网| 26uuu成人网| 高清国产一级婬片a免费| 欧美性丁香色色五月天综合爱爱| 播五月,色五月,开心五月播放器| 国产成人片| 超碰人人操人人干| 久久婷婷五月免费视频| 天天综合精品| 91vip在线观看| 亚洲天天| 丁香五月-激情综合| 国产亚洲色婷婷久久99精品91| 终合激情网| 人人人操 超碰| 丁香五月婷婷久久久| 丁香五月情| 国产色色小草视频| 婷婷综合成人五月天| 狼人久草| 欧美色色色色色色| 亚洲色A| 人与禽A片啪啪| 五月婷婷丁香成人网| 色婷婷综合久久久久| 1024亚洲| 五月婷在线播放| 久久久天堂国产精品女人| 噜一噜免费视频| 日韩无码成人电影| 婷婷五月色惰| 丁香六月久| 大香蕉丁香婷婷| 日韩av大全| 亚洲亚洲人成综合网络| 亚洲AV免费在线| 99久在线视频| 激情图片婷婷丁香五月| 妻久久人久久| Av在线资源| 久久这里有精品视频| 色亭亭影园| 婷婷免费无视频| 久久er99热精品一区二区| 激情com| 天天爱天天爽| 色情五月天小说| 久久久久这里只有精品| 婷婷在线视频| www.婷婷五月| 99热r| 丁香九月激情| 26uuu.| 狠狠操天天干| 开心五月丁香综合久久| 无码人妻AV久久久一区二区三区 | 丁香久月| 婷婷五月天天爽| 五月丁香婷婷成人版| 亚洲色婷婷| 色婷婷免费观看| 99热这里只有精品在线观看| 五月激情丁香久久综合网| 99精品偷自拍|