前言:


如今我们经常能见到全屏网站,尤其是国外网站。这些网站用几幅很大的图片或色块做背景,再添加一些简单的内容,显得格外的高端大气上档次。

在学习过jQuery插件之后,才发现之前的很多网站特效完全可以借助jQuery插件来实现,今天我们来尝试使用move.js以及fullPage.js插件来制作一个“高端网站”。

网站效果展示如下:

 fullPage.js 是一个基于 jQuery 的插件,它能够很方便、很轻松的制作出全屏网站,主要功能有:

  • 支持鼠标滚动
  • 支持前进后退和键盘控制
  • 多个回调函数
  • 支持手机、平板触摸事件
  • 支持 CSS3 动画
  • 支持窗口缩放
  • 窗口缩放时自动调整
  • 可设置滚动宽度、背景颜色、滚动速度、循环选项、回调、文本对齐方式等等

Move.js是一款简单小巧的模拟CSS3动画的JS插件。它可以完成CSS3的各种动画效果:移动、变形、倾斜、背景色渐变、旋转等。并且可以在动画中使用各种easing效果。

首先,我们再h5中写出基本结构主体,代码如下:

<body>
<div id="fullpage">
<div class="section" id="section1">
<h1>fullpage-演示iphone5C官网</h1>
<img src="img/iphone1.jpg" />
</div>
<div class="section" id="section2">
<img src="img/iphone2.png" class="img2" />
<img src="img/iphone3.png" class="img3" />
<img src="img/iphone4.png" class="img4" />
<div class="description">
<h1>A powerful plugin</h1>
<strong>fullPage.js</strong>
<br /> callbacks allow you to create amazing dynamic sites with a bit of imagination. This example tries to reproduce the Apple iPhone-5c website animations as an example of what fullPage.js is capable of.
</div>
</div>
<div class="section" id="section3">
<img src="img/iphone-red.png" class="red" />
<img src="img/iphone-yellow.png" class="yellow" />
<img src="img/iphone-blue.png" class="blue" /> <div class="description">
<h2>Amazing stuff</h2> Combining
<strong>fullPage.js</strong> with your own CSS styles and animations, you will be able to create something remarkable.
</div> </div>
<div class="section" id="section4"> <div class="description">
<h2>Just a demo</h2>
This is, of course, just a demo. I didn't want to spend much time on it. Don't expect it to work perfectly in all kind of screens. It has been designed to work on 1180px width or over on modern browsers with CSS3.
</div>
<img src="img/iphone-green.png" class="green" />
<img src="img/iphone-two.png" class="two" />
</div>
</div> </body>

tips: 

          在fullPage中,class为section表示一个屏幕。
            section不能执行包裹在body中,必须使用一个div包裹所有的section。
            section中的每一个slide表示一个横向幻灯片,可在当前屏中左右横向切换。

在CSS样式中,我们对各部分元素进行了定位和静态的页面布局设置,代码如下:

*{
margin: 0px;
padding: 0px;
}
#section1{
background-color: #F0F2F4;
overflow: hidden;
text-align: center;
}
#fullPage{
min-width: 1250px;
}
.section{
min-height: 650px;
}
#section1 h1{
font-size: 70px;
text-align: center;
margin: 60px 0px;
}
#section img{
width: 45%;
}
#section2{
position: relative;
overflow: hidden;
}
#section2 .description{
width: 370px;
position: absolute;
top: 200px;
right: 130px;
color: #808080;
font-size: 18px;
line-height: 35px; }
#section2 .description h1{
font-size: 36px;
margin-bottom: 15px;
}
#section2 img{
height: 685px;
position: absolute;
transform: scale(0.6);
top: -17px; }
#section2 .img3{
z-index:;
}
#section3{
position: relative;
overflow: hidden;
}
#section3 .description{
width: 500px;
position: absolute;
top: 200px;
right: 130px;
color: #808080;
font-size: 18px;
line-height: 35px; }
#section3 .description h1{
font-size: 36px;
margin-bottom: 15px;
}
#section3 img{
position: absolute;
}
#section3 .red{
left: 250px;
top: 150px;
}
#section3 .yellow{
left: -40px;
bottom: -400px;
}
#section3 .blue{
bottom: -400px;
left: 550px;
}
#section4{
position: relative;
} #section4 .green{
position: absolute;
left:250px;
top: 200px;
}
#section4 .description{
width: 90%;
position: absolute;
top: 100px;
left: 5%;
color: #808080;
font-size: 14px;
line-height: 25px;
text-align: center; }
#section4 .description h2{
font-size: 36px;
margin-bottom: 15px;
}
#section4 .two{
position: absolute;
bottom: -230px;
left: 600px;
}

接下来便是导入需要的JS文件:

需要注意的地方是:fullPage.js必须在JQuery.js文件之后导入!而move.js使用的是原生JS语言,故没有要求。

在我们组建好网页布局之后,必须先选中包裹所有section的div的ID,并调用fullPage()方法,才能加载布局。

调用fullPage()方法之后,可以给函数传入对象类型的参数,设置fullPage的各种属性。

<script type="text/javascript">
$(function() {
$("#fullpage").fullpage({
navigation: true,
verticalCentered: false,
anchors: ["page1", "page2", "page3", "page4"],
onLeave: function(index, nextIndex, direction) {
switch(index) {
case 2:
move(".img2").x(0).duration(".7").delay(600).scale(0.8).end();
move(".img3").x(0).duration(".7").delay(600).scale(1).end()
move(".img4").x(0).duration(".7").delay(600).scale(0.8).end() break; case 3:
if(nextIndex!=4){
move(".red").y(0).duration("1").scale(1).end();
move(".yellow").y(0).duration("1").scale(0.8).end()
move(".blue").y(0).duration("1").scale(0.8).end() break;
}
case 4:
move(".green").y(0).duration("0.7").scale(1).end()
move(".two").y(0).duration("0.7").scale(0.9).skewY(0).end()
break; }
switch(nextIndex) {
case 2:
move(".img2").x(-35).duration(".7").delay(700).scale(0.8).end();
move(".img3").x(300).duration(".7").delay(700).scale(1).end()
move(".img4").x(700).duration(".7").delay(700).scale(0.8).end() break;
case 3: move(".red").y(-400).duration("1.2").scale(1).end();
move(".yellow").y(-400).duration("1.2").scale(0.8).end()
move(".blue").y(-400).duration("1.2").scale(0.8).end()
move(".green").y(-400).duration("1.2").scale(1).end()
move(".two").y(0).duration("0.7").scale(0.9).rotate(180).end()
break; }
} });
});
</script>

网站主题效果出来之后需要进行细致的调整,另外插件只是工具,提升自己能力的途径是尝试自己创作插件。

【干货】教你如何利用fullPage.js以及move.js插件打造高端大气的网站效果!的更多相关文章

  1. 教你如何利用threejs对3D模型皮肤进行DIY

    一步一步教你如何利用threejs加载gltf模型来实现DIY换肤功能. 模型准备 模型制作 模型可以通过网上下载,也可以自己通过c4d.maya.blender等模型制作软件得到.这里就不叙述有关模 ...

  2. fullpage.js全屏滚动插件使用小结

    刚做好公司网站,通过全屏滚动,显著提高了官网的浏览体验.遂总结一下使用fullpage.js的方法.欢迎指正 一. fullpage.js简介 fullpage.js是一套实现浏览器全屏滚动的js插件 ...

  3. 教你如何利用分布式的思想处理集群的参数配置信息——spring的configurer妙用

    引言 最近LZ的技术博文数量直线下降,实在是非常抱歉,之前LZ曾信誓旦旦的说一定要把<深入理解计算机系统>写完,现在看来,LZ似乎是在打自己脸了.尽管LZ内心一直没放弃,但从现状来看,需要 ...

  4. FullPage.js全屏滚动插件学习总结

    如今我们经常能见到全屏网站,尤其是国外网站.这些网站用几幅很大的图片或色块做背景,再添加一些简单的内容,显得格外的高端大气上档次.比如 iPhone 5C 的介绍页面(查看),QQ浏览器的官网站.如果 ...

  5. 教你如何利用xml格式的sitemap文件做好SEO

    教你如何利用xml格式的sitemap文件做好SEO 浏览: | 更新:-- : 一般的网站中都有网站地图文件,它有HTML格式与XML格式,网站地图可以帮助搜索引擎抓取.帮助用户找到自己所需要的内容 ...

  6. 如何在我们项目中利用开源的图表(js chart)

            最近觉得应该把自己在技术上的一些心得记录在博客里面跟大家分享,一起讨论,一起成长!       这篇随笔主要为介绍chart在项目中的运用,因为在我们看到一些开源的chart时候,是使 ...

  7. 利用修改div的位置+js对象存储div信息 实现简单的div自定义布局功能

    原文:利用修改div的位置+js对象存储div信息 实现简单的div自定义布局功能 利用修改div的位置+js对象存储div信息 实现简单的div自定义布局功能1.在界面上添加几个checkbox和一 ...

  8. 【Python3爬虫】教你怎么利用免费代理搭建代理池

    一.写在前面 有时候你的爬虫刚开始的时候可以正常运行,能够正常的爬取数据,但是过了一会,却出现了一个“403 Forbidden",或者是”您的IP访问频率太高“这样的提示,这就意味着你的I ...

  9. Workbench利用Python驱动DM执行Js进行建模

    Workbench的工作平台下可以利用Python进行一些操作,包括添加system和component等等.DM可以通过执行Jscript脚本进行自动建模,因此,结合这两块的内容,可以利用Pytho ...

随机推荐

  1. Android开发中EditText的点击Enter键焦点改变处理(获取焦点和失去焦点交互变化)

    最近因为项目需要,需要将EditText的焦点转移到LineraLayout上: 即为EditText输入完毕后,点击回车键或者按压其他嵌入式android设备的OK键,获取LineraLayout的 ...

  2. SDWebImage4.0.0 源码解析

    在开发iOS的客户端应用时,经常需要从服务器下载图片,虽然系统提供了下载工具:NSData.NSURLSession等等方法,但是考虑到图片下载过程中,需要考虑的因素比较多,比如:异步下载.图片缓存. ...

  3. JavaScript之去除前后空格//g

    使用正则表达式"//g"去除字符串中的前后空格."//"表示所要匹配的字符串,如前后空格为/^\s*|\s*$/,这里"^"表示以" ...

  4. 一篇深入剖析PCA的好文

    主成分分析(Principal components analysis)-最大方差解释 在这一篇之前的内容是<Factor Analysis>,由于非常理论,打算学完整个课程后再写.在写这 ...

  5. 关于《Unity3D/2D游戏开发从0到1》书籍再版说明

    关于<Unity3D/2D游戏开发从0到1>第一版本在2015年7月1日全国发行,累计得到不少国内高校教师.培训机构的好评.但是由于Unity官方对于技术不断的升级与版本的快速迭代,基于U ...

  6. Lua语法要点

    本文在我的独立博客中的链接:https://www.bughui.com/2017/04/01/lua-grammar-points/ 这篇文章其实是我在四月一号发布的,由于我重新注册了一个博客园帐号 ...

  7. Swift语言中与C/C++和Java不同的语法(五)

    这一节将会提到Swift中其他的关于函数的应用,这些内容包括有: 默认参数值和可变参数值.常量参数.返回函数类型和函数嵌套: 一.默认参数值和可变参数值 对默认参数值是指在函数的声明中就已经定义了参数 ...

  8. mysql存储过程查询结果循环遍历 判断 赋值 游标等基本操作

    一.首先说下本篇博客所实现功能的背景和功能是怎样的: 背景:因为公司项目开始迁移新平台项目,所以以前的平台老数据以及订单信息需要拆分表,而且需要业务逻辑来分析以前的订单表,来拆分成另外的几个新表,包括 ...

  9. 关于RESTful接口api的设计

    你封装api的话,你对同城,你相当于客户端,你只顺应他的签权机制:别人调你的话,你有一套签权机制,别人就是客户端,只顺应你的签权:这样就统一了,容易扩展,以后你接了几套签权,别人对你还是一套,你们就是 ...

  10. android TranslateAnimation 顶部segment分段移动动画

    这里实现的功能是从主页布局的fragment点击跳转到一个acitivity,然后顶部是一个切换的segment顶部是一个listview,点击segment分段让listview加载不同的内容.我这 ...