使用fullpage的步骤
1 导入JQuery.js fullpage,js fullpage.css
2 组建网页布局,最外层id="fullpage" 单页class="section" 幻灯片 class="slide"
3js中使用$("#fullpage").fullpage();调用执行
$(function(){}
添加完单页后,虚调用.fullpage
$("#fullpage").fullpage({
内容是否垂直居中 默认为true
verticalCentered:false,
字体是否随窗口缩放而缩放 默认为false
resize:true,
设置每个单页的背景色
sectionsColor:["#254875","#00FF00","#254587","#695684"],
设置每个单页的锚链接
anchors: ['page1', 'page2', 'page3', 'page4'],
设置单页滚动速度 默认为700 单位ms
scrollingSpeed:7000,
绑定一个分页导航菜单的ID 导航详情见HTML
menu:"#menu",
是否显示项目导航
navigation:true,
导航位置 可选left或 right
navigationPosition:"left",
navigationColor:"#BCBCBC",
鼠标指上时,导航提示的信息
navigationTooltips:["page1","page2","page3","page4"],
是否显示幻灯片导航
slidesNavigation:true,
slidesNavPosition:"top",
左右滑块的箭头的背景颜色
controlArrowColor:"#BCBCBC",
滚动到最底部后是否滚回顶部 默认为false
loopBottom:true,
首页上划 是否滚回尾页 默认为false
loopTop:true,
/*设置幻灯片是否水平循环 默认为true*/
//loopHorizontal:true,
是否循环滚动 注意与上两个的区别
continuousVertical:true,
是否使用浏览器默认滚动条滚动
autoScrolling:true,
当页面内容超出区是否显示滚动条
必须导入scrollOverflow.js且要在fullpage.js之前导入
scrollOverflow:true,
是否使用CSS3的滚动方式,默认为true false时用JQuery的滚动方式
css3:false,
单页上下方的padding属性
paddingTop:"30px",
paddingBottom:"30px",
是否使用键盘方向键导航 默认为true
keyboardScrolling:true,
手机端划屏力度 数值越大,越难滑动
touchSensitivity:10,
使用锚链接跳转页面时,是否进行动画滚动
animateAnchor:true,
使用锚链接跳转页面时,是否进行动画滚动
animateAnchor:false
afterLoad: function(anchorLink, index){
console.log("-----------afterLoad---------")
console.log("anchorLink"+anchorLink);
console.log("index"+index);
console.log($(this))
if(index==3){
//move("#p").set('margin-left', 500).end();
}
},
onLeave: function(index, nextIndex, direction){
console.log("-----------onLeave---------")
console.log("index"+index);
console.log("nextIndex"+nextIndex);
console.log("direction"+direction);
},
页面加载完执行,先执行第一页的afterLoad,再执行本方法
afterRender:function(){
console.log("-----------afterRender---------")
},
afterSlideLoad:function(anchorLink,index,slideAnchor,slideIndex){
console.log("-----------afterSlideLoad---------")
console.log("anchorLink:"+anchorLink);
console.log("index:"+index);
console.log("slideIndex:"+slideIndex);
console.log("slideAnchor:"+slideAnchor);
},
onSlideLeave:function(anchorLink,index,slideIndex,direction,nextSlideIndex){
console.log("-----------afterSlideLoad---------")
console.log("anchorLink:"+anchorLink);
console.log("index:"+index);
console.log("slideIndex:"+slideIndex);
console.log("direction:"+direction);
console.log("nextSlideIndex:"+nextSlideIndex);
},
});
fullpage常用方法
1 $.fn.fullpage.moveSectionUp() 上滚一页
2 $.fn.fullpage.moveSectionDown() 下滚一页
3 moveTo(section, slide) 滚动到指定页 section从1开始 slide从0开始
moveSlideRight() slide 向右滚动
moveSlideLeft() slide 向左滚动
setAutoScrolling() 设置页面滚动方式,设置为 true 时自动滚动
setAllowScrolling() 添加或删除鼠标滚轮/触控板控制
setKeyboardScrolling() 添加或删除键盘方向键控制
setScrollingSpeed() 定义以毫秒为单位的滚动速度
});
// Less中的注释,但这种不会被编译
/*这也是Less中的注释,但是会被编译
*/
[Less中的变量]
1 声明变量:@变量名:变量值
使用变量:@变量名;
>>>Less中的变量的类型
① 数字 1 10px ② 字符串;无引号字符串red 有引号字符串"haha"
②颜色类,red #000000 rgb() ③ 值列表类型,用逗号或空格分隔 10px solid red
>>>变量使用原则
多次频繁出现的值 需要修改的值 设为变量
@width:100px;
@length:100px;
@color:green;
#div1{
width: @length;
height: @length;
s
}
2 混合(Mixins)
① 无参混合: 声明: .name{} 选择器中调用:.name;
② 带参混合
无默认值声明: .name(@param){} 调用 .name(parValue)
有默认值声明: .name(@param:parValue){} 调用 .name(parValue):parValue可省略
>>>如果声明时:如果没有默认值,则调用时必须赋值,否则报错
>>>无参混合:会在css中编译除同名的class选择器,有参的不会。
.borderRadius(@brWidth:10px){
border-radius: @brWidth;
-webkit-border-radius: @brWidth;
-moz-border-radius: @brWidth;
}
#div1{
.borderRadius(20px);
width: @length;
height: @length;
}
.borderRadius(@brWidth){
border-radius: @brWidth;
-webkit-border-radius: @brWidth;
-moz-border-radius: @brWidth;
}
.borderRadius{
border-radius:10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
}
3 Less的匹配模式:
使用混合进行匹配,类似于if结构;
声明:.name(条件一,参数){};.name(条件二,参数){};.name(条件三,参数){};.name(@_,参数){};
调用:.name(条件值,参数值);
匹配规则: 根据调用时提供的条件值,去寻找与之匹配的"Mixins"执行。其中@_表示永远需要执行的部分。
@width:100px;
.setMargin(lefts,@width){
margin-left:@width ;
}
.setMargin(rights,@width){
margin-right:@width ;
}
.setMargin(tops,@width){
margin-top:@width ;
}
.setMargin(bottoms,@width){
margin-bottom:@width ;
}
.setMargin(@_,@width){
padding: 10px;
}
#div1{
.setMargin(lefts,10px);
.setMargin(rights,10px);
.setMargin(tops,10px);
.setMargin(bottoms,10px);
width: @length;
height: @length;
}
4 Less中的运算
+ - * / 可带单位,可不带单位
颜色运算时。红绿蓝分三组进行计算,组内可进位,组间互不干扰
LESS中的嵌套,保留HTML中的代码结构
1 嵌套默认是后代选择器,如果需要子带选择器,则在子代前面加>
2 & 表示上一层 &:hover{} 表示上一层的hover事件 ul{ li { &:hover{"ul li:hover" } } }
section{
>p{
color: red;
text-align: center;
}
ul{
padding: 0px;
list-style: none;
li{
float: left;
margin: 10px;
width: 100px;
text-align: center;
border: @border;
&:hover{
}
}
}
}
//注释一 不会被编译
/*
注释二 非压缩模式会被编译
*
*/
/*!
* 注释三 重要注释,压缩模式也会被编译
*
1 Sass中的变量:
使用$变量名,变量值,声明变量
如果变量需要在字符串中嵌套,则需要用井 {}包裹
border-井{$left}:10px solid blue;
$length:100px;
$length:200px;
$left:left;
$width:200px;
$color:red;
#div1{
width: $length;
height: $length;
border-#{$left}:10px solid blue;
}
2 Sass中的运算,会将单位也进行计算 使用时需注意最终单位
3 Sass中的嵌套:选择器嵌套,伪类嵌套,属性嵌套
选择器嵌套 ul{li{}} 后代
选择器嵌套ul{>li{}} 子代
&:表示上一层 div{ul{li{&="div ul li"}}};
属性嵌套:属性名与{之间必须有: 例如border:{color:red};
伪类嵌套:ul{ li { &:hover{"ul li:hover" } } }
section{
p{
color: red;
@include hong(200px);
@include hongs(brown);
}
ul{
padding: 0px;
list-style: none;
>li{
float: left;
width: 100px;
margin: 100px;
border: {
color: red;
style:solid;
width: 10px;
}
&:hover{
}
}
}
}
4 混合宏 继承 占位符
① 混合宏 声明:@mixin name($param:value){};
调用:@include name(value);
>>>声明时,可以有参,可以无参,可带默认值,也可不带默认值,但是,调用时,必须符合声明规范同less
>>>优点:可以传参,不会生成同名的class选择器
>>>缺点:会将混合宏中代码,copy到对应的选择器中,产生冗余代码
$length:100px;
$length:200px;
$left:left;
$width:200px;
$color:red;
@mixin hong($width){
width: $width;
}
@mixin hongs($color:yellow){
color: $color;
}
@mixin borderRadius($param1...){
//使用...将传进来的所有参数,接受到一个变量中
border-radius: $param1;
-webkit-border-radius: $param1;
}
#div1{
width: func($length);
height: $length;
@include hong(1000px);
@include hongs(yellowgreen);
}
② 继承: 声明:.class{} 调用: @extend .class;
优点:继承的相同代码,会提取出并集选择器中,减少冗余代码
缺点:无法传参; 会在css中生成一个同名class
.class{
padding: 0px;
}
#div1{
width:$lengt);
height: $length;
@extend.class;}
③占位符: 声明:%class{} 调用: @extend %class
优点:继承的相同代码,会提取出并集选择器中,不会生成同名的class选择器
缺点:无法进行传参;
综上所述:当需要传递参数时,用混合宏,当有现成class时,用继承,当不需要传参,也不需要class时,用占位符。
%class{
padding: 0px;
}
#div1{
width:$lengt);
height: $length;
@extend %class;}
5 if条件结构
@if 条件 {};
@else 条件 {};
@if 2<1{
}
@else{
@if 2>0{
color: yellow;
};
}
6 for循环结构
@for $i from 1 to 10{} 不含10;
@for $i from 1 through 10{}; 包含 10;
@for $i from 1 through 10{
.bor井{$i}{
border:井{$i}px solid red;
}
}
@for $i from 1 through 10{
.bor#{$i}{
border:#{$i}px solid red;
}
}
7 while循环结构
$j:1;
@while $j<10{
.while井{$j}{
border: 井{$j}px solid red;
}
$j:$j+1;
}
$j:1;
@while $j<10{
.while#{$j}{
border: #{$j}px solid red;
}
$j:$j+1;
}
8 each循环遍历
@each item in a,b,c,d{
//item表示每一项
}
9 函数
@function func($length){
$length1:$length*5;
@return $length1;
}
调用:func(10px);
@function func($length){
$length1:$length*5;
@return $length1;
}
#div1{
width: func($length);
height: $length;
border-#{$left}:10px solid blue;
}
JQuery自定义插件
1、全局插件声明
$.extend({
func:function(){}
})
$.func();
$.extend({
sayHello:function(){
console.log("Hello JQuery!");
},
setBodyBg:function(color){
$("div").css("background-color",color);
}
})
$.setBodyBg("red");
2、局部插件声明
$.fn.myFunc = function(){};
调用:$("选择器").myFunc();
2.1 传入单一参数
$.fn.setBg = function(bgColor){
//console.log("调用setRedBg插件");
console.log(this); // JQuery对象
console.log(document.getElementsByTagName("div")[0]); //DOM对象
//在当前函数中,this指向:调用此插件的对象,且当前this为JQuery对象
this.css("background-color",bgColor);
}
$("div").setBg("#FE9812");
2.2 传入对象参数并提供默认值
$.fn.setFont = function(options){
var defaults = {设置默认值
"font-size":"12px",
"font-weight":"700",
"font-family":"'宋体'",
"color":"#ef9982"
};
var fontStyles = $.extend(true,defaults,options);//将默认值与传入对象比对,获得新对象(传入对象有值,就用传入的值,若无则用默认值)
return this.css(fontStyles);//修改css
return作用:将当前调用插件的对象返回。可以保持JQuery的样式调用规则
}
$("div").setFont({
"font-size":"48px",
"color":"#ff00ff",
"font-weight":"400",
"font-family":"'微软雅黑'"
}).fadeOut(1000);
$.fn.setDivText = function(attr){
console.log(attr.length);
console.log(this.length);
if(attr.length!=this.length){
alert("传入数组个数与所选div个数不一致");
return this;
}
$.each(this, function(index,item) {
item.innerHTML = attr[index];//item是DOM对象,需调用原生DOM的属性方法,或转为JQuery对象后,在使用JQuery相关方法 $(item).html(attr[index]);
return this;
});
- FullPage.js-基于 jQuery 的插件全屏滚动插件
fullPage.js 是一个基于 jQuery 的插件,它能够很方便.很轻松的制作出全屏网站.如今我们经常能见到全屏网站,尤其是国外网站.这些网站用几幅很大的图片或色块做背景,再添加一些简单的内容, ...
- 如何给ActiveX控件添加“事件”“属性”“标准事件”“自定义事件”等一些相关操作
上一篇小编带大家熟悉了一下ActiveX的建立以及相关的概念,(http://blog.csdn.net/u014028070/article/details/38424611) 本文介绍下如何给控件 ...
- 改进《完美让IE兼容input placeholder属性的jquery实现》的不完美
<完美让IE兼容input placeholder属性的jquery实现>中的代码在IE9以下浏览器中会出错,原因是因为ie9以下的浏览器对input的标签的解释不同. 例如对以下文本框的 ...
- jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法
jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jq ...
- sass基础—属性嵌套以及跳出嵌套 @at-root
/*注意:定义的变量若是没有使用则不会编译到css文件中.*//*1)sass的局部变量*/$font:14px;//定义$font:12px !default; //没有default时是重新赋值, ...
- html5的自定义data-*属性和jquery的data()方法的使用示例
人们总喜欢往HTML标签上添加自定义属性来存储和操作数据. 但这样做的问题是,你不知道将来会不会有其它脚本把你的自定义属性给重置掉,此外,你这样做也会导致html语法上不符合Html规范,以及一些其它 ...
- 完美让IE兼容input placeholder属性的jquery实现
调用时直接引用jquery与下面的js就行了,相对网上的大多数例子来说,这个是比较完美的方案. /* * 球到西山沟 * http://www.cnzj5u.com * 2014/11/26 12:1 ...
- jquery 小插件,完成“输入字段预期值的提示信息”,防html5 placeholder属性
前言:在很多时候,我们需要文本框中显示默认值,获取焦点时,文字框中就会清空给的值,当失去焦点时,如果没有值,继续显示默认的文字,如果有输入值,就显示输入的值.现在项目中需要用到这个地方的功能比较多,于 ...
- visual studio 配置属性中增加自定义宏和宏值
visual studio中有一些预先定义的宏,用于配置项目属性,如SolutionDir.我们也可以自定义类似的宏,从而在配置包含目录(include)或添加依赖项时简化配置项. 如何创建自己的宏呢 ...
随机推荐
- RadASM的测试工程!
RadASM已经安装完毕了,是否可以正常工作了呢?我们通过创建一个工程来测试一下,下面就是创建这个测试工程的过程: 1, 2, 3, 4, 5, 6, 7, 8, 9, 至此,我们通过RadASM的模 ...
- 通过 js 修改 html 的文本内容或者样式
通过 js 修改 html 的文本内容 <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...
- 「BZOJ1433」[ZJOI2009] 假期的宿舍(二分图,网络流)
题目描述 学校放假了 · · · · · · 有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如 A 和 B 都是学校的学生,A 要回家,而 C 来看B,C 与 A 不认识. ...
- docker kubernetes swarm spring cloud结合学习资源
http://www.docin.com/p-2062732301.html https://blog.csdn.net/michael_hm/article/details/79213839 htt ...
- SimpleDateFormat线程不安全及解决办法
原文链接:https://blog.csdn.net/csdn_ds/article/details/72984646 以前没有注意到SimpleDateFormat线程不安全的问题,写时间工具类,一 ...
- SDUT OJ 数据结构实验之二叉树二:遍历二叉树
数据结构实验之二叉树二:遍历二叉树 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descr ...
- 一步步yum安装LNMP,脱坑笔记!!!
更改国内yum源: 1.备份yum源文件,位置在/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/ ...
- win8.1 开启企业模式
1,Win+R Gpedit.msc 2, 3, 4,F12 多了一项企业模式
- 一、pytest的介绍和安装
需要针对一个项目系统开发一套UI自动化测试脚本,自己结合着学习,采用了pytest去实现,这里留下记录. 什么是pytest pytest 是一个非常成熟的全功能的Python测试框架 可以胜任uni ...
- python-day15---面向对象
面向对象零:面向对象的说明: 面向过程和面向对象: 面向对象:一切以对象为中心(解决的问题本身) 面向过程:一切以过程为中心(解决问题的步骤) 面向对象我们用 “ class 类名:” 来表示面向对象 ...