当前位置: 首页 > news >正文

怎么做网站维护网站开发与管理的专业描述

怎么做网站维护,网站开发与管理的专业描述,深圳设计平台,什么是服务器近日#xff0c;在浏览网站的时候#xff0c;发现了一个有意思的效果#xff1a;一个图片轮播#xff0c;通过上下滚动鼠标滚轮控制图片的上下切换。 于是就有了自己做一个的想法#xff0c;顺带复习下鼠标滚轮事件。 鼠标滚轮事件#xff0c;参考这篇文章#xff1a;…近日在浏览网站的时候发现了一个有意思的效果一个图片轮播通过上下滚动鼠标滚轮控制图片的上下切换。 于是就有了自己做一个的想法顺带复习下鼠标滚轮事件。 鼠标滚轮事件参考这篇文章鼠标滚轮事件-CSDN博客 一、HTML和CSS 无论怎么样的滚动首先要制作图片轮播的结构和样式。 HTML div classbox idboxul classlist idlistliimg src../images/pic1.jpg alt/liliimg src../images/pic2.jpg alt/liliimg src../images/pic3.jpg alt/liliimg src../images/pic4.jpg alt/liliimg src../images/pic5.jpg alt/li/ul div classdots iddots/div /div HTML结构很简单就是一个 div 里面套了两个结构图片区和控制点区。 图片区 ul#list就是一个 ul里面有多个 li 嵌套了图片。控制点区 div#dots 没有内容这是因为控制点要根据图片的数量ul 的 li 个数动态生成。 CSS *{margin: 0;padding: 0; } ul,li,ol{list-style: none; } .box{width: 600px;height: 399px;border:20px #000 solid;margin-left: auto;margin-right: auto;overflow: hidden;position: relative;margin-top: 100px; } .list{position: relative; } .list img{display: block; } .list li{width: 600px;height: 399px;overflow: hidden; } .box .dots{position: absolute;bottom: 20px;left: 50%;transform: translateX(-50%);display: flex;background: rgba(255,255,255,0.5);padding: 5px;border-radius: 30px; } .box .dots span{display: block;width: 15px;height: 15px;background: #fff;border-radius: 50%;margin-left: 5px;margin-right: 5px;cursor: pointer; } .box .dots span.active{background: #f30; } CSS代码如上就不分析了反正就这样。强调两点 整个  div.box 要相对定位约束绝对定位的控制点区 div#dotsul.list 也要相对定位因为要复制第一个图放到最后复制最后一个图放到第一图的前面。复制出来的图都是绝对定位的。 二、JS 1. 为了防止重复执行滚动事件写一个 flag当为 true 的时候就不执行滚动事件。默认值为 false。 let isScroll false; 2. 根据图片的个数动态生成点span。为了防止过度操作 DOM使用了  createDocumentFragment 缓存生成的span 标签。 let li list.querySelectorAll(li); let li_len li.length; let index 0; let wrap document.createDocumentFragment(); // 初始化工作 for(let i 0; i li_len; i){let span document.createElement(span);span.dataset.index i;if(i 0){span.classList.add(active);}wrap.appendChild(span);span.addEventListener(click,function(){index this.dataset.index;changePic(index);} ); } dots.appendChild(wrap); 3. 上下移动图片就是在控制图片的 transform 的 translateY 属性。 // 图片切换函数index function nextPic(){index;if( index li_len ){index 0;list.style.transform translateY(399px); // 调整list位置document.body.offsetHeight; // 强制重绘HTML}changePic(index); }// 图片切换函数index-- function prevPic(){index--;if( index 0 ){index li_len - 1;list.style.transform translateY( (-399*li_len) px);document.body.offsetHeight; // 强制重绘HTML}changePic(index); } 4. 切换图片就是在换图已经更改控制点的样式。 // 切换图片 function changePic(index){// 点的切换let dotsBros findeBros(dots_span[index]);dots_span[index].classList.add(active);dotsBros.forEach(function(item){item.classList.remove(active);});// 图片切换isScroll true;list.style.transform translateY( (-index * 399) px);list.style.transition transform 0.5s;document.body.offsetHeight; // 强制重绘HTML } 5. 当动画结束的时候就要恢复 flag 变量的值为 flase并且去掉图片的过渡动画。 // 动画结束时恢复初始状态 list.addEventListener(transitionend,function(){isScroll false;list.style.transition none;}); 6. 滚动事件判断滚轮值的正负选择上还是下滚动图片。 // 鼠标滚轮事件 box.addEventListener(wheel,function(e){e.preventDefault();let delta e.deltaY;if(delta 0 isScroll false ){nextPic();}else if(delta 0 isScroll false){prevPic();} },{passive: false }); 完整JS代码 let box document.getElementById(box); let list document.getElementById(list); let dots document.getElementById(dots); let isScroll false;let li list.querySelectorAll(li); let li_len li.length; let index 0; let wrap document.createDocumentFragment(); // 初始化工作 for(let i 0; i li_len; i){let span document.createElement(span);span.dataset.index i;if(i 0){span.classList.add(active);}wrap.appendChild(span);span.addEventListener(click,function(){index this.dataset.index;changePic(index);} ); } dots.appendChild(wrap); let dots_span dots.children; // 初始图片 let liFirst li[0]; let liLast li[li_len - 1]; let newLiFirst liFirst.cloneNode(true); let newLiLast liLast.cloneNode(true); list.appendChild(newLiFirst); list.appendChild(newLiLast); newLiLast.style.position absolute; newLiLast.style.top -399px; newLiLast.style.left 0; // 工具函数获取兄弟节点 function findeBros(tag){let bros [];let parent tag.parentNode;for(let i 0; i parent.children.length; i){if(parent.children[i] ! tag){bros.push(parent.children[i]);}}return bros; } // 图片切换函数index function nextPic(){index;if( index li_len ){index 0;list.style.transform translateY(399px); // 调整list位置document.body.offsetHeight; // 强制重绘HTML}changePic(index); }// 图片切换函数index--function prevPic(){index--;if( index 0 ){index li_len - 1;list.style.transform translateY( (-399*li_len) px);document.body.offsetHeight; // 强制重绘HTML}changePic(index); }// 切换图片 function changePic(index){// 点的切换let dotsBros findeBros(dots_span[index]);dots_span[index].classList.add(active);dotsBros.forEach(function(item){item.classList.remove(active);});// 图片切换isScroll true;list.style.transform translateY( (-index * 399) px);list.style.transition transform 0.5s;document.body.offsetHeight; // 强制重绘HTML } // 动画结束时恢复初始状态 list.addEventListener(transitionend,function(){isScroll false;list.style.transition none; });// 鼠标滚轮事件 box.addEventListener(wheel,function(e){e.preventDefault();let delta e.deltaY;if(delta 0 isScroll false ){nextPic();}else if(delta 0 isScroll false){prevPic();} },{passive: false });
http://www.hkea.cn/news/14282254/

相关文章:

  • 百度不做网站外链是什么原因wordpress显ip
  • 如何在空白服务器上搭建网站手机个人简历模板下载
  • 营销网站 深圳品牌建设表态发言
  • 上海外贸网站建设公司做公司网站需要多长时间
  • 淘宝客 wordpress网站徐州网上阳光招生平台
  • 外贸网站建站hwordpress域名重复
  • 建设厅网站怎么查询安全员c考试成绩做网站用的小图标
  • 开发网站的申请怎么写网页前端设计用什么软件
  • 徐州网络优化招聘网网站seo内部优化
  • 深圳市建设行业主管部门官方网站北京外包公司 网站开发
  • 恩施建设银行网站wordpress销售和会员
  • 南通网站建设规划书php网站建设案例教程视频
  • 企业网站建设的目标免费发布产品信息的网站
  • 怎么知道网站是哪个公司做的建设五证在那个网站可以查
  • 民宿客栈网站制作网页设计个人主页图片
  • 软件工程毕业可以做网站吗河北网络推广公司
  • 企业网站能自己建设吗郑州大学现代远程教育 《网页设计与网站建设》个人主页
  • 电商运营培训课程网站变装chinacd wordpress
  • 深圳有做网站的吗无锡网站建设动态
  • 天津网站建设代理商专业的南昌网站建设
  • joomla 网站 html 空免费代理招商网
  • 如何做医疗网站的专题页网站申请域名流程
  • 网站开发属于购销合同浙江建设职业技术学院官网
  • 网站建设价格标准渠道网站建设seo优化培训
  • 单个页面的网站网络销售怎么做才能做好
  • 目前做美术的网站以及app分销系统
  • 网站备案个人使用网站建设影音先锋网址
  • 黑龙江省建设厅网站的电话wordpress无法搜索插件
  • 网站怎么注销备案号深圳专业企业网站建设模板
  • 沈阳做网站怎样收费wordpress无法创建目录安装失败