久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

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

網(wǎng)頁(yè)設(shè)計(jì)期末作業(yè)全攻略:從站點(diǎn)規(guī)劃到購(gòu)物車交互一次講透 做網(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)物車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)像專業(yè)開(kāi)發(fā)人員寫(xiě)的東西的范疇。第三是功能性。JavaScript部分有沒(méi)有實(shí)際能跑的交互——輪播、菜單切換、表單驗(yàn)證、購(gòu)物車計(jì)算任意兩到三個(gè)就能滿足要求。只寫(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)、促銷活動(dòng)任務(wù)是吸引用戶點(diǎn)進(jìn)下一層。products.html商品列表頁(yè)展示全部分類下的水果商品卡片帶分類篩選和排序。detail.html商品詳情頁(yè)單款水果的大圖、簡(jiǎn)介、價(jià)格、規(guī)格選擇、加入購(gòu)物車按鈕是從列表頁(yè)到?jīng)Q策頁(yè)的過(guò)渡。cart.html購(gòu)物車頁(yè)展示已加入的商品、數(shù)量增減、自動(dòng)計(jì)算總價(jià)、模擬結(jié)算流程。login.html登錄/注冊(cè)頁(yè)表單加校驗(yàn)驗(yàn)證用戶名、密碼格式可加驗(yàn)證碼倒計(jì)時(shí)之類的小交互。about.html關(guān)于我們/水果知識(shí)頁(yè)品牌故事、水果營(yíng)養(yǎng)知識(shí)順便展示圖片和排版能力。這六頁(yè)的邏輯是一條完整的用戶動(dòng)線進(jìn)店首頁(yè)→ 逛貨架列表→ 看商品詳情→ 加入購(gòu)物車購(gòu)物車→ 登錄結(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ě)類名和標(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è)品類天然適合綠色系——新鮮、健康、有食欲。用CSS變量定義主題色后續(xù)所有頁(yè)面的顏色都用var()引用想換配色時(shí)只需要改一處。:root { --primary: #43a047; /* 主色新鮮綠 */ --primary-dark: #2e7d32; /* 深色用于導(dǎo)航、頁(yè)腳 */ --primary-light: #66bb6a; /* 淺色用于hover背景 */ --accent: #ff9800; /* 強(qiáng)調(dià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有下劃線這些默認(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是全局通用的容器類各頁(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)物車/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類顏色用主色調(diào)加粗其他頁(yè)的鏈接保持普通樣式。頁(yè)腳部分包含三列信息品牌介紹文字、快捷鏈接列表、聯(lián)系方式可以寫(xiě)400電話這類模擬信息底部再放一行版權(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)物車結(jié)算為主所以按鈕樣式必須全局統(tǒng)一。我建議定義兩個(gè)類.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漸變和文本溢出省略的使用做促銷標(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)口水果專區(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ì)非常專業(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)口專區(qū)時(shí)令促銷三個(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è)的分類篩選用data屬性做最簡(jiǎn)單可靠的數(shù)據(jù)篩選商品列表頁(yè)的篩選功能很多學(xué)生第一反應(yīng)就是每個(gè)分類做一套標(biāo)簽/循環(huán)其實(shí)用data屬性做篩選是工作中最常用的輕量方案它把分類信息直接掛在商品卡片上點(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è)類名CSS里為不同類名下的卡片定義不同布局。比如容器上有g(shù)rid-view時(shí)卡片豎排三列容器變成list-view時(shí)卡片變橫排行。切換類名的本質(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)物車的即時(shí)反饋設(shè)計(jì)列表頁(yè)里每個(gè)商品卡片都放一個(gè)加入購(gòu)物車按鈕。點(diǎn)擊后的反饋不能只是數(shù)據(jù)變了用戶看不到反饋就等于沒(méi)生效。我實(shí)操中覺(jué)得最順手的反饋組合有這么幾種按鈕文字瞬間變?yōu)橐鸭尤?1.5秒后恢復(fù)右上角購(gòu)物車圖標(biāo)上的數(shù)字1帶一個(gè)彈跳動(dòng)效頁(yè)面右下角浮出一個(gè)小toast提示已成功加入購(gòu)物車。這三個(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)物車頁(yè)面的純?cè)鶭S狀態(tài)管理不靠框架也能能買能算購(gòu)物車是整個(gè)網(wǎng)站里JavaScript含量最高的一頁(yè)也是最能體現(xiàn)編程能力的地方。不用Vue或React純?cè)鶭S也一樣能做出完整可用的購(gòu)物車邏輯。5.1 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)數(shù)組加對(duì)象購(gòu)物車的狀態(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)買數(shù)量checked標(biāo)記是否勾選。后續(xù)所有頁(yè)面交互——數(shù)量加減、刪除、勾選、總價(jià)計(jì)算——都圍繞這個(gè)數(shù)組展開(kāi)。5.2 渲染函數(shù)數(shù)據(jù)變一次頁(yè)面就重畫(huà)一次購(gòu)物車頁(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的判斷防止用戶一路減到0甚至負(fù)數(shù)。這是一個(gè)非常實(shí)際的邊界情況作業(yè)里處理好了會(huì)顯得很嚴(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)物車刷新就清空了對(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ù)雜的依賴但對(duì)數(shù)據(jù)持久化的表達(dá)能力比純頁(yè)面狀態(tài)高一個(gè)臺(tái)階。6. 登錄頁(yè)的表單校驗(yàn)三個(gè)小細(xì)節(jié)把交互體驗(yà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)題類型具體表現(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)證一遍確保圖片不依賴網(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é)技巧。如果促銷卡片上想做出優(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è)順序不能反。我是建議第一次做這類作業(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ī)范后面每一塊都能嚴(yán)絲合縫地拼上去。水果超市這個(gè)題目本身不難難的是愿不愿意靜下心把細(xì)節(jié)做扎實(shí)。希望這篇拆解能幫你在交作業(yè)前少走幾段彎路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久亚洲影院一区二区| 97色色网| 日韩pv中文| 99婷婷一区二区| 岛国在线免费视频| 精品亚州18| 国内偷自视频区视频综合| 久久9久9久99久9久9| 国产在线综合福利网站| 91国产丝袜白虎| 国产91乱伦| 欧美淫乱视频| 富二代亚洲精品99 | 亚洲乱熟女一区二区| 国产亚洲日韩在线三区黑人| 免费久久一级毛片大黄| 色天堂在线观看| 国产美女mm131爽爽爽爽| 欲色综合| 中出20p| 国产精品网站www| 伊人激情五月天一区二区| 亚洲欧美内射| 蜜臀久久99精品久久久久电影| 欧美另类自拍| 99r九九| 日韩亚洲美女一区久久| 91丨九色丨大屁股| 一级性爱视频免费在线| 九九九九免费视频| 欧美一区二区情色| AV一二区| 午夜福利久久久噜久噜久久综合 | 污污污8888| 75大香蕉| 九九热免费国产视频婷婷伊人| A级片日韩欧美国产欧美视频精选观看| 97中文字幕色| 欧美综合制服在线| 久久久免费懂色| 国产噜噜噜噜噜久久久久久久久| 欧日韩不卡视.频| 久久久久免费看少妇A片特黄| 九九九九九九综合| 久久精品黄色| 国产美女91| 操少妞在线视频| 欧美精品在线观看| 国产精品色| 日本99视频| 中国国产精品一区视频| 久久美女国产| 性影在线视频| 日本熟女中文| 国产精品婬乱一级毛片彝族| 偷窥自拍A片| 国产精品亚洲无码| 99re公开精品免费视频| 九九探花视频在线观看| 曰韩欧美国产传媒麻豆第一区| 日本 情色 1区| 国产嫩草精品A88AV| 九九热精品视频六| 免费观看成人www精品视频| 国产精品视频91久久| 麻豆国产视频精品观看| JIZZJIZZ国产精品喷水| 激情色播| 亚洲图片偷拍欧美| 国产无码精品成人| 网页导航五月天免费一二三区| 久久久久国产一区二| www.91色| 夜夜嗨一区二区| 爱做久久久久久| 欧美日韩国产色图在线| 日本一二区免费| 欧美伦乱爱| 四虎在线免费视频| 亚洲自拍97| 欧美后入| 国产精品视频麻豆入口| 一级久久久久久久久久久| 天天做天天爱天天爽| 秋霞一级视频在线观看免费| 狠狠躁AV| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 少妇 综合| 99精品热| 青青草原伊人网| www.99色| 国产精品秘 福利姬在线观看| 日韩探花精品在线视频| 色哟哟-国产专区| 亚洲日本天堂| 日韩欧美性爱电影在线观看| 精品欧美А∨无码黑人大荫蒂 | 操逼999| 操淫穴亚洲五月丁香| 久久久久白虎| 蜜臀99久久国产| 免费超碰97在线观看| 天天日日夜夜| 久久久无码精品人妻二区 | 日韩有码一区三区| 伊人超碰97| 久久久一区二区三区三州| 99综合| 99精品无码| 黄色视频60分钟| 丝袜熟女2P| 中文字幕免费在线观看| 一,爱啪啪,在线免费视频| 中文字幕97色| 九九九九精品精| 无码少妇精品一区二区60岁老人| AV色五月| 国产精品探花色| 91粉芽高清在线一区二区| 久久一留热品黄| 91性网| 日韩999| 欧美激情 一区| 婷婷久久网| 男人天堂网手机版婷婷| 亚洲最大的综合性av| 欧美成人色| 国产精品直播在线观看直播| 91大神电影天堂| 视频国产成人精品日本亚洲18| 欧美色三级片91| 国产日本一区二区三区蜜臀在线观看| 九九性爱网| 天天干1区2区在线| 操逼不卡中文字幕| 丰满人妻一区二区三区在线| 日产操逼| 久久侵犯人妻爽爽爽| 91n欧美| 亚码激情| 亚洲春色欧美激情自拍| 国产欧美日产一区二区三区 - 国产欧美日| 最新岛国大片| 欧美性第1页| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 超碰人人干| 国产精品熟女一区二区三区| 爱我干综合| 欧美草草高清日韩视频| 一区二区三区男女操逼黄色小电影| 国产精品免费久久久久久久久久| 婷婷五月在线视频| 亚洲欧美自拍偷拍| 中韩中文字幕在线观看| 大香蕉伊人亚洲| 高清国产性猛交xxxx乱大交| 麻豆成人影音在线| 国产日韩人人| 日韩精品.久久精品.AV女优.天美传媒| 欧美中文字幕精品人妻| 职场同事知名国产国产精品久久欧美日韩| 大香樵伊人网| 女人被添高潮免费视频| 国产毛片片精品天天看视频| 一二三区精品视频| 中国的操老妇女| 久久性爱视频| 青娱乐日韩无码| 国产午夜精品理论片a大结局| 麻豆福利视频导航| 九九这里只有精品| 精品亚洲国产成人精品| 国产精品九九九| 青青青草伊人精品| 亚洲永久AV无码精品秋霞| 丁香婷婷大香蕉| 国产一区二区三区白丝| 国产成人亚洲精品无码最新在线| 日韩猛交| 久久久久久久9| 日韩精品国模| 欧美影音在线| 青女在线| 丝袜美腿校园春色| 欧美 亚洲 另类 综合| 色婷婷在线视频| 成人性爱美曰韩| 91性高朝久久久久久久久| 深夜视频| 亚洲黄色电影| 97久久超碰亚洲| 大香蕉综合久久| 久操B网| 天天做天天爱| 色综合婷婷| 综合欧美激情网| 国产精品永久免费10000| 91久久青青草原精品| 色区97| 97色色色综合网站| 99re6国产精品99re在线| 综合一区中亚洲国产成人综合精品 | 欧美在线大香999| 91视频综合在线| 蜜臀色乳| 麻豆传媒一区二区在线观看| 日韩精品影视| 少妇高潮喷水无套久久久久久| 人妻人人澡人人爽人人| 91丝袜熟女| 大香蕉在线免| 亚洲日韩乱码中文无码蜜桃臀网站| 99久视频| 日韩97超碰中文字幕| 五月天激情小说| 伊人AAA| 丁香六月婷| 天天爽夜夜操| 中日无幕一二三四区| 99青草| 青青色综合| 色第一页| 厕所偷拍在线| 精品美女久久一二三| 自拍视频大全亚洲专媒视频/一区二区三区| 夜夜嗨AV蜜臀av| oumeizonghese,www| 60秒免费小视频| 一区二区三区色综合| 破处bbq| 丰满人妻一区二区三区四区| 伊人久久综合精品欧美| 国产精品一二三免费网站| 亚洲色吧网| 亚洲中文电影| 清纯唯美综合| 亚欧毛片基地国产毛片基地| 日韩AV无码中文一区二区| 日本免费亚洲欧美| 视频在线观看一二三区| 日本不卡免费二区| 天天日天天搞天天干| 日韩国产乱子伦App| 99热成人| 一区二区视频你懂的| 青草视频人妻在线观看| 老熟女91视频| 国产AV精久久| 情色日播放AV| 超碰到97情色| yiqicaoav| 淫荡少妇免费| 一区二区三区四区五区高清无码永久视频 | 欧美亚洲日本激情在线| 亚洲综合888| 九九这里只有精品| 加勒比aⅴ| 岛国在线免费视频| 台湾佬激情综合| 曰韩香蕉97| 91伊人| 免费看欧美美女黄色大片| 久久久98网站免费视频| 伊人久大| 91成人久久| 欧美人妻二区三区| 97美日韩视频| 精品黑人一区二区| 97中文天堂| 欧美啪啪天堂| 日本一区二区做爱的视频| 暖暖精品二区三区观看| 国产精品久久久久久久久久久久久久吹 | 欧美刺激色黄片免费看| a片亚洲一本通视频| 91丨人妻丨国产丨丝袜| 中文字幕 码 自拍 视频 区| 91亚.色| 一区二区影院| 久热久操| 久久黄色性爱视频| 97碰碰日本乱偷人妻中文的| 国产乱伦亚洲色图高清无码| 夜夜中出国产| 蜜桃狠狠色伊人亚洲综合网站| 精品一二三区久久AAA片| 97视频在线观看高清资源| 婷婷久草| 亚洲精品欧洲精品| CCYY草草影院地址入口| 91视频观看网站| 天天伊人| 夜夜夜久久| 国产白丝AV| 强奸xx国产| 亚州欧美另类| 综合熟女| 久久产精品一区二区三区电影| 丁香激情网| 久9精品| 一区二区 韩日AV| 超碰色美女| 蜜乳AV色欲AVAV无码| 大屁股熟女一区二区三区| www.黄色在线| 四虎精品永久在线观看| 婷婷久草一区二区三区| 日日爱99| 久久综合久色欧美综合狠狠| 国产成人亚洲精品无码古代早漏男 | 欧美综合天堂| 激情四射婷婷四五月天| 五月天婷婷在线看| 啊啊啊好疼| 亚洲无线码一区国产欧美国| 极品少妇久久久| 青青草九九九九九| 琪琪精品免费一区二区三区| 中文在线视频| 神马福利久草| 中国一级操逼视频| 91色亚洲| 国产久久一区二区| 日本加勒比无码专区| 极品丝袜无码| 日韩久久激情精品| 国产粉嫩蜜臀av一区二区三区 | 成人无码欧美一级A片狼牙直播| 91美女中出| 日本高清免费一本视频在线观看| 玖玖草久草99蜜月一区二区三区| 狠狠穞A片一區二區三區| 精品国产Av无码久久久亚洲| 日逼97| 超碰 av 女人天堂| 激情五月天色色网| 久久中文字幕一区不卡| 中国少妇啪啪视频| chaopen97久久| 欧美乱色| 欧美精品1区2区3区| 人人操 欧美| 亚洲男人天堂2017| 夜夜操中文字幕| 一区二区三区精品黑丝白丝酒店对鸡 | 日韩激情无码影院| 亚州欧美另类| 岛国999| 亚洲最大黄网| 婷婷中文字幕| 日本性爱少妇| 淫荡少妇免费| 亚洲另类小说卡通动漫| 亚洲毛片基地专区| 97av在线视频| 久久久久久国产精品免费网站| 国产高清自拍| 漂亮人妻被强中文字幕hd| 啊啊啊啊在线观看网址| 人妻天天夜夜爽一区二区| 97国产高清视频在线观看| 男插女青青影院| 9丨久久九九九| 91精品操美女| 伊人在线大香蕉视频久久| 另类亚洲图色| 日本一二三高清| 美女黄色一级A视频| 男人高清无码一区二区| 免费αⅴ在线观看| 草草影院日本第一页| 水多多映视AV| 国产精品久久久吖| 日本成人免费一区二区三区| 91另类| 啊啊啊啊好疼| 九九AV| 日韩小电影| 日本不卡在线二区三区| 国产传媒一区二区三区| 欧美翘臀视频网站一区二区三区| 超碰美国| 91老熟女视频| 欧美日韩插逼视频| 乱伦一二三区| 亚洲国产奇米影视久久| 欧美αv.com| 黄色片一区二区三区四区五区| 韩国免费播放一级毛片| 日本在线观看网址| 亚洲国产精品成人无码久久久 | 一牛一区二区三区久久| 99re在线视频| 一二区在线观看视频| 97在线公开视频| 97在线公开视频| 97视频播放| 夜夜爽夜夜操| 欧美gv在线观看| 激情抓乳插进去啪啪啪日韩| 国产黄片精品在线| 色五月综合| 玖玖爱综合| 国产免费一区| 男人的天堂免费| 黄色无码高清黄色无码网站| 无码免费在线观看黄色片| www.99中文字幕| 日韩中文字幕视频在线观看| 亚洲天堂区| 国产婷婷一区| 欧美综合在线第一页| 97碰碰色| 草草网站影院白丝内射| 美女诱惑1区2区| 国产精品视频播放| 91久久婷婷| 超碰精品日韩欧美国产| 91干熟女| 久久久久ab| 91美女视频直播| 91无码西班牙视频在线| 国产剧情AV不卡在线观看| 婷婷五月色| 60秒免费小视频| 国产丝袜啪啪| 性色av蜜臀av色欲aV| 大香网伊人久久综合| 欧美狠狠弄| 天天躁日日躁狠狠狠躁| 2019久久久久久久久福利| 大香蕉520| 品亲网欧美品亲网| 国语av狠狠色丁香婷婷综合激情| 爆乳免费黄网站| 国产综合永久精品日韩鬼片| 蜜桃久久综合视频| 久操av在线| 97超碰超碰| 能直接看AV的网站| 中文字幕久久精视频久久大全| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 精品国产精品一区二区| 蘋果手機免費看成人Av| 91精品国产91综合久久蜜臀| 久久五月婷| 亚洲综合骚逼| 欧美呦呦性爱| 欧美色图片91| 丁香七月婷婷| 日韩欧美成人大香蕉| 蜜臀久久99精品久久久久电影| 九九精品无码专区免费| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 一级成人性爱| 日本熟妇熟色97一本在线观看| 屁股久久久久久久久| 国产精品黑人一区二区三区| 欧美色偷拍 | 国产精品一区二区亚洲人成毛片| 老女人爆菊| 一本久道久久综合狠狠爱一密臀精| 囯产乱伦一区二区三女 | 偷拍盗拍亚洲色图图片| 色吧五月| 欧美亚洲天天| 综合啪啪| 久久午夜色播影院免费高清| 亚洲成人av色网| 亚洲欧美骚| 丁香五月激情网| 91美| 久久色人体 | 伊人久久婷婷| 亚州男人天堂| 国产精品乱人伊人网| 午夜精品久久久| 丰满少妇一区二区三区专区| 亚洲欧美国产中文视频| 97天天做| 午夜120视频在线观看| 任我爽在线视频免费观看| 国产小黄片在线免费观看| 国桃视频产巨乳精品一区二区在线| 精品高清一区二区三区三州| 四虎免费视频| 91超级碰| 91九九| 爱干爱射网啊啊啊| 亚洲一级性爱视频免费看| 国产欧美黑人丰满在线| 五月丁香综合网| 亚洲色天| 超碰在97| 亚洲日本成人动漫| 中国少妇XXXX做受| 97人人色| 成人久久无码www| 国产91乱伦| 97操B| 一个人在线看的黄色电影网站| 十八禁视频一区二区| 色天堂综合| 97碰在线视频| 国产乱伦性爱区| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 麻豆天美91| 老女人碰碰在线碰碰视频| 色综合网1| 久久夜夜| 热G综合热G中文| 成 人 影视 一区 二区 三区 四区| 成人av影院在线观看| 超碰欧美COM| 国产又大又粗又长视频在线| 丁香五月性| 久久久久亚洲三级电影| 欧美熟妇色| 蜜臀久久99精品| 色婷婷激情| 日韩欧美成人午夜福利| 91殴美| 天天爱综合网| 国产60区。| 精品一区二区三区蜜桃臀赵总 | 欧美日韩免费专区在线| 久久露脸国产老熟女| 久久久久久久伊人精品| 999综合网| 97在线观看视频| 亚洲吊色| 精品国产99| 超碰97精品在线| 色婷网| 亚洲国产一级精品毛一级精品看免费视频| 搡老女人911熟妇老熟女| 精品人妻一区二区蜜桃视频| 日韩久久艹| 国产青一二三| 另类综合另类| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 蜜臀Av一区二区三区| 夜夜操中文字幕| 99re69综合| 男人天堂.AB| 天天干少妇| 国产成人在线观看综合| 天堂中文资源在线bt| 岛国在线免费视频| 日本色色视频网站| 在线观看不卡一区二区三区| 美国日韩黄片| 翔田千里爆乳巨臀无码| 国产亚洲精品一区二区三区| 色激情综合网站| 2017天天拍大香蕉| 国产精品久久久| 777超碰| 天天噜| 欧美91精品国产自产| 超碰在线一区二区| 久久AV无码AV| 欧美人人曰人人操人人射射| 精品中文字幕第一页| 国产一级内射无挡观看| 亚洲最大成人a毛毛片| 一区二区三区探花在线观看| 强奸乱伦资源| 97精品综合久久| 99视频只有精品| 在线 制服丝袜中出 人妻| 久久久蜜桃一区二区三区| 99国内精品| 嗯嗯嗯啊啊啊操的我好爽| 91骚妇| 色哟哟av网址| 青青五月天| yiqicaoav| 九九热久久99精品re| 熟女乱伦A| 久久男女激情视频网站| 一品道视频一区二区三区| 啊啊啊啊啊操我视频| 人妻人人澡人人爽人人| 超碰是碰在线观看| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 亚洲色五月| 第45页一区二区| 亚洲AV在线资源| 欧美姓爱综合网| 乱伦日本中文自拍| 操逼网站视频漫画国产| 97视频观看| 搞中出视频在线观看| 懂色av中文字幕| 黑人娇小av在线播放| 性爱乱伦视频免费| 99这里有精品视频| 久久少妇人妻| 国产后入| 欧美一级黄片免费播放| 影音综合网| 玖日综合网| 桃花色综合影院| 欧美亚洲中文字幕| 91麻豆天美国产| 欧日韩一二三f区| 欧美不卡在线一区二区| 大香蕉综合| 97天天弄| 秋霞午夜成人福利片片| 熟女乱伦二区| 99re在线视频国产| 亚洲性爱成人| 精品久久久久久亚洲| 九9热伊人| 欧美日韩大香蕉| 无码色| 91网站18+| 性爱免费视频成人| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 好一吊区二区| 国产亚洲精品农村妇女| 国产污视频麻豆传媒一区二区| 91精品丝袜久久久久久| 国产精品久久成人免费| 97色涩| 中文字幕天堂在线| 亚洲综合色男人网| 97干在线视频| 性爱视频久久| 久久爱97| 欧美精品999| 在线小说视频一区| 欧美性爱视频免费一区一A| 欧美老妇女内射网址| 亚洲欧美综合| 好吊色在线观看| 91色宗合| 98一区二区精品| 亚洲毛片久久| 狠狠狠狠狠狠| 亚洲牲交| 素人美腿视频网站| 亚洲无992tv| 精精夜夜| 黑人精品一区二区在线播放| av大香蕉网站| 另类小说综合网| 日韩三级在线观看mp4| 欧美成人性爱视频在线播放 | 日韩极品无码B| 亚洲 se图 欧美电影| 99色网| 91色爽欧美| 极品欧美一区二区三区| 大香蕉伊人在线成人AV在线观看 | 97国产天堂岛| 成人午夜小视频手机在线看| 国内精品久9| 丁香色色网| 超碰97护士| 中文字幕少妇色| 91精品女厕偷拍视频| 日本孕妇孕交| 91精品久久久久久77777| 这里只有精品97| 日韩丝袜人妻AV| 免费自拍三级综合| 亚洲色棕合| 69人妻精品一区二区绯色| 熟妇乱伦一区二区| 少妇色综合| 丁香五月激情综合| 久久无码一区二区二三区性色| 亚州综合AⅤ| 婷婷亚洲五月***久久| 国产999精品久久久| 青娱乐av在线| α√在线| 欧美亚洲情色| 嗯嗯啊啊啊啊轻点视频| 能看的av| 大香蕉黄色一级片免费看| 99这里都是精品| 亚洲 欧美 中文 日韩超碰 | aaa淫乱视频| 久久精品三级影视| 日本乱人伦片中文三区| 青青草久久| 91色女| 国产精品久久久久中文字幕| 蜜臀久久99精品久久久久久| 精品性爱久久视频| 亚洲高潮少妇| 国产熟女免费观看久久| 欧美日韩中文视频播放| 五月天亚洲网| 观看视频图片一区二区三区| 女人高潮大叫一级毛片| 91伊人久| 日韩少妇无码| 久久精品日韩专区免费观看| 精品久久久久瑟瑟| 国产动漫操逼视频| 操逼天美3区| 大香蕉中文| 亚洲不卡一| 夜夜骑天天燥| 暖暖精品二区三区观看| 中文字幕jul-617人妻熟女| 久久无码一区二区二三区性色| 91精品在线播放| 久久久久久久久久久久九| 超碰亚洲欧美日韩无| 丁香六月啪| α√在线| 狠狠中文字幕| 在线观看一级α片刺激高潮视频| 96超碰网| 婷婷性网| 久久一二三四五六七八九区| 日韩精品三级片长长久久| 东北黄色电影| 欧美天天插| 欧美日韩99| 秋霞曰韩R级| 少妇xx精品| 亚洲国产av中文字幕久久| 欧美欧美啪啪视频| 午夜毛片亚洲精品片国产久久久| 色欧美色交综合| 精品中文一区二区| 综合91网| 少妇色综合| 欧美激情久久久久| 青木玲在线不卡| 欧美中文狠| 亚洲欧美一区二区不卡视频播放 | 啪啪资源网| 亚洲天堂AV在线播放| 天天草夜夜草高潮片| 久久无码一区二区二三区性色| 亚洲婷婷丁香在线| 亚洲精品久久久久毛片A片拉屎 | 亚洲最大的综合性av| 青草青草久热| 欧美亚洲中文字幕| 五月天丁香网| 色老汉玖玖爱| 99999无码| 蜜桃不卡一区二区| 久草男人天堂| 插B在线观看| 天天射天天色成人| 欧美精品97| 视频一区二区免费在线| 免费a级毛片av无码久久精品中文字幕| 伊人热综合| 搞中出久久| 一级久久性爱视频| www.99热| 九月AV| 久久久久国产| 51一区二区三区| 啊啊啊好舒服视频| JIZZJIZZ亚洲女人被躁| 蜜乳av一区二区| 欧美成人黄网色网站| www.狠狠| 欧美爆操91| 啊啊啊久久久视频 | 免费看毛片操穴| 欧美天天谢综合网| 久久久久久裸体| 九九九网站| 八戒午夜福利理论片| 国产亚州精品美女久久久免费| 超碰精品在线| 亚洲综合有玛| 久草成人影片| 日本伦乱九九九综合| 亚洲成a人片在线观看中文!!!| 日本三级日本三级99| 国产有码一区| 色香网| 人妻一区二区三区视频 | 屌妞视频久久久久久久| 熟女熟妇伦久久影院毛片一区二区| 酒色综合网| 日韩人妻一二三区视频| 人妻少妇久久久| 黑人与人妻| 爱爱动态60秒| 最新啪啪视频| 91国产大片| 91国模| wwwcaobibi| 18岁禁 茉莉成人久久| 欧美伊人电影| 男女性感激情网站| 97视频网站在线观看| 欧美成人精品一区二区男人蜜臀| 一级毛片电影免费看| 国产又大又硬又长又粗| 婷婷色香| 嗯嗯啊啊操我| 九九RE视频在线精品| 日本999精品| 老熟女乱伦片| 嗯啊不要啊在线 | 欧洲精品二区| 欧美精品久久久久久久久88| 91撸色网 玖玖网 欧美| 大香蕉中文| 午夜婷婷| 美女十八禁| 国产亚洲日本精品在线| 久久99草| 国产一区在线观看无码AV| 精品无吗久久| 超碰午夜| 无码91| 国产白丝av| 嗯啊不要啊在线 | 亚洲美乱| 蜜臀久久99精品久久久久久酒店 | 超碰天天操| 日本高清视频xxxx| 久久免费看高潮毛片韩国| 亚洲加勒比| 97视频网站在线观看| 亚洲高清自拍| 曰韩欧美国产传媒麻豆第一区| 91bbbbbb| 偷拍 精品另类 凸凹了四区| 狠狠爱夜夜| 91大学精品激情戏| 青青久久艹| 欧美超碰9798| 尤物av网站免费在线播放| 美女人妻色网站| TS人妖另类精品视频系列| 国产精品久久发布| 亚洲āv网址在线观看| 二对二中文字幕。| 国产亚洲精品美女久久久| 96国产污污污丝袜| 天堂中文日本在线观看| …中文字幕亚洲乱,97人妻无码费视… | 亚洲日韩成人性爱视频| 97伊人超碰| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 伊人欧美大香蕉视频| 色99视频| 一起草三级AV电影在线观看 | 日本好吊色视频| 亚欧高清在线| 九九九九九精品视频| 欧美一区91大爱| 囯产精品久久久久久久久久梁医生| 亚洲日韩av一区二区三区百合| 国产精品内射婷婷一级二| 国产60区。| 亚洲操逼无码| 色综合一区二区三区| 乱码熟妇人妻久久久| 亚洲高清无码在线桃色| 全国男人天堂网| 欧美成不卡网| 亚洲色 国产 欧美 日韩| 婷婷人妻激情| 亚洲熟女综合| 久久美女福利是上海美女| 欧美日韩1234| 亚洲综合九| 狠狠色丁香| 久9re热视频这里只有精品| 久草精品一区 | 狠狠干妹子| 超碰亚洲欧美日韩无| 欧美国产欧美在线观看| 欧色网址| 一级黄碟在线看| 五月天精品| 国产成人精品无码久久| 91网站18禁| 桃色人妻在线视频| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 久操com| 大香蕉综合网| 亚洲熟妇AV日韩熟妇在线| 无码99| 18禁超污无遮挡无码免费网| 成年无码动漫av片无尽在线| 九久久精品| 日夜久久久九九九久| 久久精品性| 国产精品久久久久无码A√| 天久久久噜噜噜久久国产精品爽爽| 国产熟女精品区| 亚洲日韩AV视色| 8050午夜少妇无码| 99e久久国产精品| 久久99九九九九6666免费观看软件| 亚州色图欧美| 亚洲不卡不卡中文字幕不卡 | 91高清欧美| 91AV天美在线视频| 狠狠干精品一二三四五六2022| 九九伊人网| 人人操人人摸人 | 风月影院男女十八禁| 国产农村妇女精品1区二区| 色噜噜婷婷| 日韩av在线播放不卡| 国产精品网址| AV一起草在线| aaa亚无码专区| 9丨久久九九九| 91熟女网| 青青草公开在线免费不卡视频| 亚洲伊人久久精品影院| 91处女视频在线观看| 亚洲综合有玛| 嫩草 人人网精品| 国产精品久久久视频| 亚洲日本韩国极品一区二区| 日本免费中文一区二区三区四区| 综合色色婷婷| 国产精品午夜高潮呻吟久久av| 国产精品美女久久久久AⅤ国产馆| 国产无码久久高清| 黄色无码高清黄色无码网站| 性综合网| 精品无码秘 人妻一区二区| 超碰碰97资源站| 久久久偷拍| 一本久道久久综合狠狠爱一密臀精| 夜夜高潮夜夜爽国产伦精品| 国产又大又粗又长视频| 97欧美色| 人妻激情视频| 亚洲色图A| 人人操人人肉久久精品| 国产精品网址| 亚洲欧美另类激情小说| 秋霞午夜成人福利片片| 2024黄色视频| 激情天天视频| 这里只有精品视频在线观看麻豆| 亚洲国产精品9999在线观看| av天堂精品久久| 精品亚洲国产成人精品| 99热这里只有精品地址| 亚洲免费看片| 国产suv精品一区二区四| 爽爽爽免费视频| 国产精品天干天干综合网麻豆 | 黄色片一区二区三区四区五区| 强奸乱伦大香蕉| 操婷婷逼| 久久黄黄| 久久久久久9999| 中出91视频| 91亚洲欧美| 亚洲av综合色| 久热9| 女同性恋一区二区三区精品视频| 亚洲吊色| 人妻第一页| 午夜a成v人电影| 日韩性爱播放| 日本少妇va7777| 蜜臀久久精品久久久久视频| 91亚洲综合在线| AV天堂国产| 无码伊人久久大杳蕉中文无码| 麻豆天美国美国产| 欧美美女后入| 中文字幕乱码在线| 国产亚洲精品农村妇女| 久久精品国产精品亚洲艾通辽熟妇| 欧美高潮在线| 精品国产乱码久久久| 91东京热男人的天堂| 亚洲精品成人| 日日夜夜噜| 日夜伊人网| 国产区性爱在线视频秋霞豆| 夜夜夜久久| 免费99精品国产自在在线| 男人的天堂 在线一区| 人人插人人摸人人| 久久9精品视频| 亚洲双插| 天天看天天在线精品| 久久久久久亚洲精品不卡人乳| 日本九九久久99| 97超碰欧美| 日本中文字幕在线视频| 九九九九九九亚洲| 97操综合| 亚洲吊色| 亚洲图片欧美| 中文自拍欧美影视| 欧美性,色九九| 中文字幕人妻资源在线| 肉丝中文无码高清| 张柏芝国产一区在线观看| 精品人妻美妇91job| 色噜噜人妻丝袜AV资源| 亚州性9| 免费一级毛片在线视频观看| 北京美女一区二区| 思思久热在线精品66| 99激情视频| 青青久日| 最新中文字幕精品在线| 69人妻精品丰满熟女区| 在线视频97| 婷婷五月天丁香| 33044男人的天堂深夜备| 日韩人妻播放| 国产av热热色| 国产亚洲日韩欧| 99re6久热只有精品6在线直播| 99rre在线精品99re8| 色香色欲天天综合网天天来吧 | 色哟哟 日韩精品| 人人天天欧洲| 99re超碰| 加勒比大香蕉视频在线| 久操频道免费在线呗看| 亚洲国产欧美中日韩成人综合视频| 足交视频老司机| 色婷婷激一区二区三区 | 亚洲九月丁香| 人澡逼| 免費黃色視頻觀看一| 91插B网站| 韩国黄色片精品久久久| 99热精品在线观看| 色色色999| 欧美在线天堂| 少妇 综合| 亚洲精品国语在线播放| 宗合情欲网| 精品人妻1区| 久久99精品九九久久久婷婷| 中文字幕丝袜国产第一页不卡| av线电影| 日韩黄色电影网站| 亚洲区 欧美区| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 97欧美综合| 在线天堂999| 人妻丰满熟妇一区二区三| 日韩欧美中文字| 亚卅熟女乱色| 亚洲国产97| 日韩久久超碰色| 亚洲国产成人福利在线观看| 精品久久久久成人码免| 丁香五月综合| 日韩精品在线放| 天天操天天日天天干| 亚洲黄色影视| 超碰97久久| 60秒免费小视频| 亚洲av乱伦色图网站| 91亚洲网| 亚洲污污网站| 91无码中出人妻视频| 91网九色蝌蚪操熟女| 国产精品九九| 看日韩美女二区三区免费操逼视频| 亚洲精品久久久久毛片A片拉屎| 色大香蕉97N| 狠狠干狠狠色| 人妻一区二区三区视频| 欧美久久人体| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 青青操日韩| 干B视频伊人网| 亚洲成人福利电影免费| 欧美97超碰| 久久久久9999精品九九九| 婷婷色婷婷| 日韩美女操b| 四虎精品永久在线播放| 精吧天堂| 国产视频一区二区三区久久亚洲天堂| 黄色在线网站| 久九色| 呻吟 欧美 日本 中出| 久久免费中文字幕在线观看| 在线视频免费播放一区| www国产无码| 在线洲亚线| 97bbn| 欧美日韩免费专区在线| 亚洲欧美激情在线视频| 高清在线不卡一区二区 视频| 日韩欧美三级| 9久精品视频在线观看| 亚洲性爱高潮影院| 国产一区二区在线电影| 日韩免费三级黄片电影| 91天堂| 日日爽熟女| 久久一本大香蕉 | 久久女同性恋一二区| 综合国产97| 日韩三级视频一区二区三区| 日韩欧美性吧婷婷乱伦大香蕉 | 97这里都是精品| www色色com| 国产亚洲精品美女久久久m| 综合影院永久入口国产| 欧美96精品在线| 亚洲精品九九九九九九| 亚洲日韩欧美一区二区| 美女91在线观看| 黑丝91视频| 啊啊啊不要好疼视频| 91超级碰碰| www.色综合| 一区三区啪啪| 蜜乳AV一区二区三区四| 日韩精品在线观看观看| 国产精品久久久久久高清无码免费看| 亚洲在线a| 色97干| 91第一页| 91 丝袜在线播放| 国产视频第二页| 无码粉嫩白虎一线天b区| 国产精品午夜福利| 大香蕉手机在线| av影院十区| 欧美精品庄| 亚州综合色| 日本影视久久免费| 亚洲欧美成人网站AAA| 精品视频一区二区| 亚洲无992tv| 啪啪性爱免费视频| 自拍偷拍第26| 一级做a爰片久久毛片图片| 日日插夜夜| 久久亚洲AV无码专区国产精品| 91在线视频免费播放| 老司机射| 免费视频a级毛片免费视频| 免費黃色視頻觀看一| 九九色综合| 97国产超湿| 国产丰满熟夫69mpp| 天天干人妻|