HTML 基础,尚优选网站设计开发(二)

最近在恶补HTML相关知识点,本人是后端程序员,看到周围很多人都被裁员了,突然想尽早转变成全栈程序员变成独立开发者,有空余接接私单、商单的

尚优选网站设计开发,HTML+CSS+JavaScript实际使用

尚优选网站设计开发

页面分析

less的使用

页面交互功能实现

  • 选项卡的点击切换
  • 价格动态切换
  • 商品信息动态加载
  • 点击商品参数添加效果
  • 点击侧边栏关闭开启效果
  • 商品动态加入效果
  • 公用函数封装
  • 放大镜效果

部分代码

javascript 复制代码
/* 
	 *
	 *1、找到smallPic元素  
	 *2、鼠标移入事件,创建蒙版,创建大图
	 *3、移除鼠标时,销毁大图层
	 */
	function bigClassMove() {
		var smallPic = document.querySelector(
			'#wrapper #content .contentMain #center #center-left .leftTop .smallPic');
		var leftTop = document.querySelector('#wrapper #content .contentMain #center #center-left .leftTop');

		var imgList = goodData.imagessrc;

		smallPic.onmouseenter = function() {
			var maskDiv = document.createElement('div');
			maskDiv.className = 'mask';

			var bigDiv = document.createElement('div');
			bigDiv.className = 'bigPic';

			var bigImg = document.createElement('img');
			bigImg.src = imgList[bigImgIndex].b;
			bigDiv.appendChild(bigImg);


			leftTop.appendChild(bigDiv);
			smallPic.appendChild(maskDiv);


			smallPic.onmousemove = function(even) {
				var left = even.clientX - smallPic.getBoundingClientRect().left - maskDiv.offsetWidth / 2;
				var top = even.clientY - smallPic.getBoundingClientRect().top - maskDiv.offsetHeight / 2;

				if (left < 0) {
					left = 0;
				} else if (left > smallPic.clientWidth - maskDiv.offsetWidth) {
					left = smallPic.clientWidth - maskDiv.offsetWidth;
				}


				if (top < 0) {
					top = 0;
				} else if (top > smallPic.clientHeight - maskDiv.offsetHeight) {
					top = smallPic.clientHeight - maskDiv.offsetHeight
				}


				maskDiv.style.left = left + 'px';
				maskDiv.style.top = top + 'px';

				var scale = (smallPic.clientWidth - maskDiv.offsetWidth) / (bigImg.offsetWidth - bigDiv
					.clientWidth)
				bigImg.style.left = -left / scale + 'px';
				bigImg.style.top = -top / scale + 'px';
			}

			smallPic.onmouseleave = function() {
				smallPic.removeChild(maskDiv);
				leftTop.removeChild(bigDiv);
			}
		}


	}

演示效果

商城demo

需要代码工程的同学 ,工程已经打包好了↓↓↓↓

扫描下方QCode,或者关注GZH: 码猿趣事,回复关键字:shopping开发, 即可持续更新中~。

相关推荐
2501_943782351 小时前
【共创季稿事节】猜数字游戏:二分法思维与交互式反馈
前端·游戏·microsoft·harmonyos·鸿蒙·鸿蒙系统
GV191rLvq1 小时前
基于Socket实现的最简单的Web服务器【ASP.NET原理分析】
服务器·前端·asp.net
吠品1 小时前
LangChain 里 tool_call_id 为空?一次 MCP 工具集成的排查记录
前端
柒和远方2 小时前
Phase 7.4 学习博客:为什么多 API 项目需要 Swagger / OpenAPI
前端·后端·架构
张龙6872 小时前
拼多多开放平台对接踩坑实录:从 CLIENT_ID 配置到 MD5 签名算法的完整填坑指南
前端
GuWenyue2 小时前
提示词彻底过时?一套上下文工程方案,3步让LLM落地生产,代码直接复用
前端·javascript·人工智能
柒和远方2 小时前
Phase 7.3 复盘:后台任务不只是“扔进队列”,还要能被看见
前端·后端·架构
2501_943782352 小时前
【共创季稿事节】 倒计时器:时分秒选择器与定时器的协同工作
前端·华为·harmonyos·鸿蒙·鸿蒙系统
奶油mm2 小时前
公司技术债堆积如山,我一人之力用 Vue3 偷换了整个前端架构
前端·vue.js
用户938515635072 小时前
深入理解 JavaScript 中的 this 与数据存储的奥秘
前端·javascript