H5项目

本文详细介绍了H5中的全屏滚动库fullpage及其参数、回调函数和jQuery Easing.js插件的使用,讲解了如何解决IE低版本的兼容性问题。此外,还探讨了视差滚动的原理、JavaScript实现方法和详细参数,以及H5新API在网络状态、全屏显示、文件读取、地理定位、拖拽功能和WEB存储方面的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

H5

fullpage详细参数

选项类型默认值说明
verticalCentered字符串true内容是否垂直居中
resize布尔值false字体是否随着窗口缩放而缩放
slidesColor函数设置背景颜色
anchors数组定义锚链接
scrollingSpeed整数700滚动速度,单位为毫秒
easing字符串easeInQuart滚动动画方式
menu布尔值false绑定菜单,设定的相关属性与anchors的值对应后,菜单可以控制滚动
navigation布尔值false是否显示项目导航
navigationPosition字符串right项目导航的位置,可选 left 或 right
navigationColor字符串#000项目导航的颜色
navigationTooltips数组项目导航的tip
slidesNavigation布尔值flase是否显示左右滑块的项目导航
slidesNavPosition字符串bottom左右滑块的项目导航的位置,可选 top 或 bottom
controlArrowColor字符串#fff左右滑块的箭头的背景颜色
loopBottom布尔值false滚动到最底部后是否滚回顶部

回调函数

名称说明
afterLoad滚动到某一屏的回调函数,接受anchorLink 和 index 两个参数,anchorLink 是锚链接的名称,index 是序号, 从1开始计算
onLeave滚动前的回调函数, 接收index 、nextIndex 和 direction 3个参数:index是离开的"页面"的序号,从1开始计算;nextIndex是滚动到"页面"的序号,从1开始计算;direction判断往上滚动还是往下滚动, 值是up 或 down
afterRender页面结构生成后的回调函数,或者说页面初始化完成后的回调函数
afterSlideLoad滚动到某一水平滑块后的回调函数,与afterLoad类似,接收anchorLink、index、slideIndex、direction 4个参数
onSlideLeave某一水平滑块滚动前的回调函数,与onLeave类似,接收anchorLink、index、slideIndex、direction 4个参数

jQuery Easing.js 插件

介绍:easing是jquery的一个插件,使用它可以创建更加绚丽的动画效果

环境:因为easing是jquery的插件,所以必须是在引入jquery之后再引入它

如果只想要简单的写法就用

$('.car').animate({'left': '150%'}, 4000, 'easeInElastic');

easing:格式为json,{duration:持续时间,easing:过渡效果,complete:成功后的回调函数}

$(element).animate({
    height: 500,
    width: 600
},{
    easing: 'easeInOutQuad',
    duration: 500,
    complete: function(){}
})
  1. linear
  2. swing
  3. easeInQuad
  4. easeOutQuad
  5. easeInOutQuad
  6. easeInCubic
  7. easeOutCubic
  8. easeInOutCubic
  9. easeInQuart
  10. easeOutQuart
  11. easeInOutQuart
  12. easeInQuint
  13. easeOutQuint
  14. easeInOutQuint
  15. easeInExpo
  16. easeOutExpo
  17. easeInOutExpo
  18. easeInSine
  19. easeOutSine
  20. easeInOutSine
  21. easeInCirc
  22. easeOutCirc
  23. easeInOutCirc
  24. easeInElastic
  25. easeOutElastic
  26. easeInOutElastic
  27. easeInBack
  28. easeOutBack
  29. easeInOutBack
  30. easeInBounce
  31. easeOutBounce
  32. easeInOutBounce

fullpage方法

方法的使用: . f n . f u l l p a g e 比 如 : .fn.fullpage 比如: .fn.fullpage.fn.fullpage.moveTo(1)

名称说明
moveSctionUp()向上滚动
moveSectionDown()向下滚动
moveTo(section, slide)滚动到
moveSlideRight()slide向右滚动
moveSlideLeft()slide向左滚动
setAutoScrolling()设置页面滚动方式,设置为true时自动滚动
setAllowScrolling()添加或删除鼠标滚轮、触摸板控制
setKeyboardScrolling()添加或删除键盘方向键控制
setScrollingSpeed()定义为毫秒为单位的滚动速度

IE低版本解决兼容性

document.createElement('header');//1.创建header标签
//但是创建标签的方式太麻烦,此时用一个js文件包就可以解决(html5shiv.min.js)

条件注释

<!--[if !IE]-->除IE外都可识别<!--[endif]-->
<!--[if IE]-->所有的IE可识别<!--[endif]-->
<!--[if IE 6]-->仅IE6可识别<!--[endif]-->
<!--[if lte IE 6]-->IE6以及IE6以下版本可识别<!--[endif]-->
<!--[if gte IE 6]-->IE6以及IE6以上版本可识别<!--[endif]-->

视差滚动插件

视差滚动(Parallax Scrolling)指网页滚动过程中,多层次的元素进行不同程度的移动,视觉上形成立体运动效果的网页展示技术,主要核心就是前景和背景以不同的速度移动,从而创造出3D效果,这种效果可以给网站一个很好的补充。

原理

传统的网页的文字、图片、背景都是一起按照相同方向相同速度滚动的,而视差滚动则是在滚动的时候,内容和多层次的背景实现或不同速度,或不同方向的运动。

有的时候也可以加上一些透明度、大小的动画来优化显示。

利用background-attachment属性实现。

background-attachment:fixed || scroll || local

js调用函数

$.stellar({
    horizontalScrolling: false,
    responsive: true
})

详细参数

名称说明
horizontalScrolling和verticalScrolling该配置项用来设置视差效果的方向。horizontalScrolling设置水平方向,verticalScrolling设置垂直方向,为布尔值,默认为true
responsive该配置项用来制定load或者resize时间触发时是否刷新页面,其值为布尔值,默认为false
hideDistantElements该配置项用来设置移出视线的元素是否隐藏,其值为布尔值,若不想隐藏则设置为false
data-stellar-ratio=“2”定义了此元素针对页面滚动的速度比率,比如,0.5为页面滚动的50%,2为页面滚动的200%,所以数值越大,你可以看到页面元素滚动速度越快
data-stellar-background-ratio该配置项用在单个元素中,其值为一个正数,用来改变被设置元素的影响速度。如果值为小数时最好在样式表中设置

H5新API

网络状态

通过window.navigator.online来检测,用户当前的网络状况,返回一个布尔值,但是不同浏览器会存在差异,所以HTML5提供了两个事件 online 和 offline

online用户网络连接时被调用 offline用户网络断开时被调用 监听对象都是window

window.addEventListener('online', function() {
    $('.a').text('网络已连接').fadeIn(500).delay(1000).fadeOut(500);
})

全屏

HTML5规范允许用户自定义网页上任一元素全屏显示

1.Node.requestFullScreen()开启全屏显示 2.Node.cancelFullScreen()关闭全屏显示

!由于其兼容性原因,不同浏览器需要添加前缀

3.document.fullScreen检测当前是否处于全屏

全屏伪类选择器

:full-screen.box{} :-webkit-full-screen{} :moz-full-screen{}

document.querySelector('#full').onclick = function() {
    //开启全屏(处理兼容性问题,不同浏览器加不同前缀)
    if(img.requestFullScreen) {	//正常浏览器
        img.requestFullScreen();
    } else if (img.webkitRequestFullScreen) {	//webkit内核
        img.webkitRequestFullScreen();
    } else if (img.mozRequestFullScreen) {	//moz
        img.mozRequestFullScreen;
    } else if (img.msRequestFullScreen) {	//ms微软(其中的Fullscreen中的s小写)
        img.msRequestFullscreen();
    } else {		//欧朋
        img.oRequestFullScreen();
    }
}
//!取消全屏跟元素没有关系	document.webkitCancelFullScreen

文件读取

通过FileReader对象我们可以读取本地存储的文件,使用File对象来指定所要读取的文件或数据。其中File对象可以是来自用户在一个元素上选择文件后返回的FileList对象,也可以来自由拖放操作生成的DataTransfer

Files对象

由于HTML5中我们可以通过为表单元素添加multiple属性,因此我们通过上传文件后得到的是一个Files对象(伪数组形式)。

FileReader对象

HTML5新增内建对象,可以读取本地文件内容

var reader = new FileReader; 可以实例化一个对象

实例方法

1.readAsDataURL() 以DataURL形式读取文件

事件监听

onload 当文件读取完成时调用

属性

result 文件读取结果

地理定位

1.获取当前地理信息

navigator.geolocation.getCurrentPosition(successCallback, errorCallback)

2.重复获取当前地理信息

navigator.goelocation.watchPosition(successCallback, errorCallback)

当成功获取地理信息后,会调用successCallback,并返回一个包含位置信息的对象position

position.coords.latitude 纬度 position.coords.longitude 经度

position.coords.accuracy 精度 position.coords.altitude 海拔高度

当获取地理信息失败后,会调用errorCallback,并返回错误信息error

应用

在现实开发中,通过调用第三方API(如百度地图)来实现地理定位信息,这些API都是基于用户当前位置的,并将用位置(经纬度)当做参数传递,就可以实现相应的功能

http://lbsyun.baidu.com/

拖拽

在HTML5中,拖放是标准的一部分,任何元素都能够拖放

拖拽和释放

拖拽:Drag 释放:Drop

拖拽指的是鼠标点击源对象后一直移动对象不松手,一旦松手即释放了

设置元素为可拖放

draggable属性:就是标签元素要设置draggable = true,否则不会有效果

注意:链接和图片默认是可拖动的,不需要draggable属性

拖拽API的相关事件

被拖动的源对象可以触发的事件:

1.ondragstart:源对象开始被拖动 2.ondrag:源对象被拖动过程中(鼠标可能在移动也可能未移动)

3.ondragend:源对象被拖动结束

拖动源对象可以进入到上方的目标对象可以触发的事件:

1.ondragenter:目标对象呗源对象拖动着进入 2.ondragover:目标对象被源对象拖动着悬停在上方

3.ondragleave:源对象拖动着离开了目标对象 4.ondrop:源对象拖动着在目标对象上方释放/松手

DataTransfer:在进行拖放操作时,DataTransfer对象用来保存被拖动的数据。它可以保存一项或多项数据、一种或多种数据类型

event.dataTransfer.setData('text/html',event.target.id);
var id = event.dataTransfer.getData('text/html');
//因为追加的源对象 p id  只是id名字,需要通过id 获取元素追加到目标对象里面
event.target.appendChild(document.getElementById(id));

WEB存储

特性

1.设置、读取方便 2.容量较大,sessionStorage约5M、localSterage约20M

3.只能存储字符串,可以将对象JSON.stringify()编码后存储

window.sessionStorage

1.生命周期为关闭浏览器窗口 2.在同一个窗口(页面)下数据可以共享

window.localStorage

1.永久生效,除非手动删除(服务器方式访问然后清除缓存) 2.可以多窗口(页面)共享

方法详解

setItem(key, value) 设置存储内容 getItem(key) 读取存储内容

removeItem(key) 删除键值为key的存储内容 clear() 清空所有存储内容

多媒体

方法:load() play() pause()

属性:currentSrc currentTime duration

事件:oncanplay ontimeupdate oneneder

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值