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

外贸网站自我建设与优化2023能用的磁力搜索引擎

外贸网站自我建设与优化,2023能用的磁力搜索引擎,淘宝网站如何做虚拟机,江苏宏远建设集团网站图片幻灯片是在网页开发中常见的一种效果&#xff0c;几乎是谁处可见。我今天想要实现的幻灯片的效果图如下&#xff1a; 它的html的代码非常的简单&#xff1a; <div class"img-wrap"><ul><li><img src"./image/aa.webp"/>&l…

图片幻灯片是在网页开发中常见的一种效果,几乎是谁处可见。我今天想要实现的幻灯片的效果图如下:
这里写图片描述
它的html的代码非常的简单:

<div class="img-wrap"><ul><li><img src="./image/aa.webp"/></li><li><img src="./image/bb.jpg"/></li><li><img src="./image/cc.jpg"/></li><li><img src="./image/ee.webp"/></li></ul><div class="nav-dot"><span class="on"></span><span></span><span></span><span></span></div>
</div>

我们实现幻灯片效果的原理很简单,就是通过适当地改变图片容器ul的left值,来达到图片切换的效果
这是它的css代码:

.img-wrap {width: 520px;height: 280px;position: relative;margin: 100px auto 0;border: 1px solid #F00;overflow: hidden; /* 浏览器底部就不会有滚动条了 */
}.img-wrap ul {position: absolute;left: 0;top: 0;margin: 0;padding: 0;
}.img-wrap ul li {list-style: none;float: left;
}.img-wrap ul li img {display: block; /* 消除img的魔鬼间距 */
}.nav-dot {font-size: 0; /* 消除inline-block自带的间距 */position: absolute;left: 50%;bottom: 10px;margin-left: -26px;
}.nav-dot span {display: inline-block;padding-top: 8px; /* 利用padding-top的值代替高度 */width: 8px;height: 0;background: #fff;border-radius: 50%;margin-right: 5px;cursor: pointer;
}.nav-dot span.on {background: #FF5000;
}

因为我们是要用js来改变ul的left值的,所以我们要给ul元素设置一个定位position: absolute。
它的js代码如下:

window.onload = function () {var oUl = document.querySelector('ul');var aLi = oUl.getElementsByTagName('li');var aWidth = aLi[0].offsetWidth;var liLen = aLi.length;oUl.style.width = liLen * aWidth + 'px';var oNavDot = document.querySelector('.nav-dot');var aSpan = oNavDot.querySelectorAll('span');for (var i = 0; i < aSpan.length; i++) {aSpan[i].index = i;}// 事件委托 - 利用事件冒泡机制oNavDot.addEventListener('click', function (e) {var target = e.target || e.srcElement;if (target.tagName == 'SPAN') {oUl.style.left = -aWidth * target.index + 'px';for (var i = 0; i < aSpan.length; i++) {aSpan[i].className = '';}target.className = 'on';}})}

在js代码中,我们运用了一个js的开发技巧——事件委托。事件委托利用了事件冒泡的原理,因为子元素触发的事件会传递(冒泡)到父元素上,所以我们直接把事件处理函数绑定到父元素上,从而不用在每一个子元素上都绑定事件,减少了浏览器的dom操作,提升了页面的性能。
以上的js代码不是模块化的开发方法,现在的web应用越来越复杂了,我们都应该用模块化的思想来写代码了。这里我打算用匿名闭包IIFE模式来改造上面的代码。
IIFE(Immediately-Invoked Function Expression),即立即执行的函数表达式,就是用一个大括号把一个匿名函数包着,然后在这个大括号里放入一个小括号在匿名函数旁边以调用这个匿名函数,最后将这一整块赋值给一个变量。IIFE可以创造一个块级的作用域,最重要的是,它是js中模块化开发的一种模式。
模块化的代码如下:

var slide = (function () {var module = {};var attr = {oUl: document.querySelector('ul'),oNavDot: document.querySelector('.nav-dot')};// 设置包裹图片的ul的宽度方法module.setUlWidth = function () {var aLi = attr['oUl'].getElementsByTagName('li');var aWidth = aLi[0].offsetWidth;var liLen = aLi.length;attr['oUl'].style.width = liLen * aWidth + 'px';};// 设置span的索引值(index)方法module.setIdx = function () {var aSpan = attr['oNavDot'].querySelectorAll('span');for (var i = 0; i < aSpan.length; i++) {aSpan[i].index = i;}};// 滑动方法module.slider = function () {// 事件委托 - 利用事件冒泡机制attr['oNavDot'].addEventListener('click', function (e) {var target = e.target || e.srcElement;if (target.tagName == 'SPAN') {attr['oUl'].style.left = -attr['oUl'].getElementsByTagName('li')[0].offsetWidth * target.index + 'px';for (var i = 0; i < attr['oNavDot'].querySelectorAll('span').length; i++) {attr['oNavDot'].querySelectorAll('span')[i].className = '';}target.className = 'on';}})};return module;
}());window.onload = function () {slide.setUlWidth();slide.setIdx();slide.slider();
}

我们会发现,通过模块化的开发,js实现幻灯片的逻辑更加的清晰了。

http://www.hkea.cn/news/488140/

相关文章:

  • seo排名网站 优帮云线上推广的三种方式
  • 平凉哪有做网站的百度推广登录入口官网网
  • 娄底网站优化自建网站平台有哪些
  • 做网站需要多少兆空间wix网站制作
  • 哪些网站教做生物实验今日新闻联播
  • 铜川市住房和城乡建设局网站信息流广告哪个平台好
  • 太原市建设交易中心网站首页百度手机助手app安卓版官方下载
  • 昆山网站建设网站建设郑州网络推广哪个好
  • 瑜伽网站设计国外推广网站
  • 什么网站做国外批发百度推广自己怎么做
  • 网站管理工具百度推广可以自己开户吗
  • 三水网站制作中山做网站推广公司
  • ysl网站设计论文郑州seo地址
  • 做食品的网站设计要注意片多多可以免费看电视剧吗
  • 网站排名推广自己怎么做长沙seo代理商
  • 手机网站改版公司加盟关键词优化排名查询
  • html5 图片网站建设企业网站多少钱
  • 企业网站定制开发流程网络营销的概念及特点
  • 做火影网站背景图农村电商平台有哪些
  • 国内html5网站建设seo兼职工资一般多少
  • 青海西宁网站建设公司百度网络推广
  • 服装公司网站设计百度站长收录入口
  • 做搜索关键词任务网站网站维护是什么意思
  • 2018什么做网站百度网盘网页版入口
  • 深圳福田大型商城网站建设石家庄最新疫情最新消息
  • 网站版面结构chatgpt 网站
  • 网站后期推广是谁来做广州百度推广开户
  • 不上此网站枉做男人免费制作网站平台
  • 防红短链接生成佛山抖音seo
  • 网站建设php带数据库模板站长工具四叶草