关于最近在做的一个js全屏轮播插件

  最近去面试了,对方要求我在一个星期内用原生的js代码写一个全屏轮播的插件,第一想法就是跟照片轮播很相似,只是照片轮播是有定义一个宽高度大小已经确定了的容器用来存储所有照片,然后将照片全部左浮动,利用margin-left的值不断变化,来改变显示哪张照片,当达到最后一张的时候,将第一张照片appendChild到最后一张照片的后面,如果有左右移动的话,当到达第一张照片时,还要继续左移动的话,就将最后一张照片利用insertBefore,将最后一张照片放在第一张照片的前面,这两个方法都只是改变子元素的顺序而已,并没有增加子元素。

  上面说的是照片滚动要怎么做,接下来开始说一下我制作js全屏滚动插件的过程。

  因为之前的时候,对于scrollWidth和clientWidth和offsetWidth的区分还是不是很明确,所以认真测试了一下,这个网址也讲得很清楚:http://www.cnblogs.com/kongxianghai/p/4192032.html 后来选择使用了document.documentElement.clientWidth,刚开始使用document.body.clientWidth,的出来的结果一直有偏差,是因为Html文件的开头使用了dtd定义文件的W3C标准,所以才要使用document.documentElement.clientWidth,通过document.documentElement.clientWidth和document.documentElement.clientHeight来获取页面的宽高度之后,就可以动态的给页面设定宽高度了,这个过程中,需要先定义一个容器,叫做div1吧,div1的宽度设定为100%,高度先给一个确定的值,之后再通过js改变这个div的宽高度,使其宽高度为一个页面的宽高度,同时有一个要注意的是,div1要设定它的overflow为hidden,这样的话,就不会因为里面的元素而撑开div1的大小了。之后再在div1里面定义一个子容器,叫做div2吧,div2的宽度要容纳所有的子页面,这个宽度可以通过获取子页面的个数,将利用document.documentElement.clientWidth得到的页面宽度乘于页面数,之后得到的长度就是div2的宽度了,高度跟页面高度一样。之后再定义每个页面,页面的宽高度也是先设定一个值,之后再通过js动态赋值。现在html和css的代码就大概成功了。要注意,我们是制作插件,所以这个过程中,不能使用id来获取元素,只能通过class来获取元素。

实现后的代码就是这样:

这里要注意一个问题,body也要设置为overflow:hidden,要不然的话,到时出现页面大小变化的时候,右边和下方会出现一个滚动条大小的空白,这就是因为body没有设定overflow:hidden而导致的。

时间: 2024-10-19 07:24:25

关于最近在做的一个js全屏轮播插件的相关文章

基于Ascensor.js全屏切换页面插件

今天给大家分享一款基于Ascensor.js全屏切换页面插件,这款实例 适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="general"> <div id="content"> <!--Contenu1--> <div> <div class="contenu&

淘宝店铺装修如何实现全屏轮播

淘宝店装移植有一个神秘的模块,那就是—全屏轮播,这个神奇的模块,能提高店铺的档次,给与顾客视觉冲击,提升顾客印象但是由于淘宝常规用户不支持CSS(用来定义网页样貌的能力),所以我们无法用简单的div+CSS来做出属于自己的全屏轮播强大的装修师们几经研究,终于摆脱了CSS的束绷,结合淘宝的轮播组件,单靠DIV代码就实现了全屏轮播(有缺点) 那么.不要CSS,我们怎么实现全屏轮播呢? 首先我要告诉大家全屏轮播的核心CSS属性—position:absolute 第一节:核心属性 position :

淘宝店铺首页全屏轮播图制作

淘宝店铺首页全屏轮播图制作 | 浏览:1081 | 更新:2014-09-27 12:03 | 标签: 淘宝 很多朋友都想要做全屏轮播图,接下来我来说说我的经验 工具/原料 美图秀秀 方法/步骤 1.首先要制作或者搜寻图片宽度1920高度610的高画质图片 2.上传到淘宝图片空间,并复制其连接 3.将复制的连接替换到如下图以“jpg”结尾的那个地方.(有3个地方,可用3张图替换) 4.复制代码,进入淘宝店铺装修页面,新建“自定义内容区” 5.将自定义内容区置于顶部,编辑,输入代码界面,黏贴代码,

全屏banner及全屏轮播

一.全屏banner 1.设置网页图片全屏banner <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> * { margin: 0; padding: 0; } .pic { width: 100%; height: 600px; backgroun

加载并全屏轮播加载的其他网站的页面

加载并全屏轮播加载的其他网站的页面 一.  设计思路 1.使用iframe标签加载其他网站页面 2.通过js替换iframe的加载链接 3.通过js的定时器实现轮播 4.通过js实现全屏 二.代码小解 1.加载页面 <iframe src="https://www.baidu.com" width='100%' height='100%' frameborder='0' name="_blank" id="_blank"></i

淘宝店如何加入全屏轮播图片

淘宝店如何加入全屏轮播图片? | 浏览:5779 | 更新:2014-06-11 11:31 | 标签: 淘宝 1 2 3 4 5 分步阅读 百度经验:jingyan.baidu.com 开淘宝店的朋友,看到很多店铺有各式各样的轮播大图,很高端大气,您是否也想拥有一款属于自己的轮播图呢?今天我就交给大家如何制作全屏轮播图. 百度经验:jingyan.baidu.com 工具/原料 电脑/网络 百度经验:jingyan.baidu.com 方法/步骤 1 登录淘宝店. 登录到您的淘宝店,点击“卖家

fullPage.js—全屏动态滚动插件

1.前言 全屏大图.简约风的网页给人第一印象就是高端大气上档次,很多手机厂商的手机宣传页面都是采用了这种设计风格,苹果的官网更是体现的淋漓尽致(栗子?). fullPage.js就是专门为此而打造的支持全屏页面动态滚动的插件,先贴个浏览器兼容图: 查看演示:一睹为快? 主要特性: 支持鼠标滚动 支持前进后退和键盘控制 支持回调函数 支持手机.平板触摸事件 支持 CSS3 动画 支持窗口缩放 可设置滚动宽度.背景颜色.滚动速度.循环选项.回调.文本对齐方式 2.用法 在这里介绍最简单的用法: (1

升级版的全屏轮播图

具备的功能: 1.左右自动轮播 2.鼠标悬停在图片上时,停止轮播,移除时,开始轮播 3,点击导航圆点,移到响应位置图片,同时导航圆点有0.3秒的显示特效 4.鼠标移到屏幕左右时,出现线性渐变特效,点击,会左右移到图片 最终结果图: 完整代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title>

实现全屏轮播,并且轮播div中的文字盒子一直自动垂直居中

效果如下: 直接上代码了: 说明:轮播图基于swiper.js,自行下载.css在最后 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.