h5api

本文详细介绍了HTML5的新特性,包括语义化标签提升代码可读性,新增的电子邮件、日期等输入类型,自定义属性,video和audio元素的使用,画布用于绘制图形,以及拖放功能的实现。同时,还讲解了服务器端环境的安装配置。
摘要由CSDN通过智能技术生成

H5 API

1.H5新增标签

    语义化标签

        header

        footer

        nav

        aside

        section

        <nav>hello</nav>

        <div class='nav'>hello</div>

        语义化标签

            1)代码的可读性提高

            2)有利于搜索引擎搜索

2.h5新增表单属性

    input

        type

            email       邮件框

            url、number、range、date、month、week、time、datetime、datetime-local

3.自定义属性

    属性

        核心属性 id、class、style、title...

        特有属性 alt、src、href、width、height...

        自定义   data-gl='app'

                data-*

4.video(视频)

    video属性和方法

        Video标签提供了很多属性及方法,我们可以直接设定或者是通过js控制视频的显示

    读写属性

        src、autoplay、preload、poster、loop、controls、width、height

    只读属性

        networkState、currentSrc、buffered、readyState、volume、muted

    方法

        play、pause、load、canPlayType

    事件

        loadstart、progress、suspend、abord、error、emptied、stalled、paly、pause、playing、seeking、seeked、ended、ratechange、volumechange…

5.audio(音频)

    audio元素与video类似,是用来播放音频的。其属性方法事件也几乎与video元素一致

       

        <audio src ="/home/charles/media/a.mp3" >您的浏览器不支持audio标签</audio>

6.画布

    1)介绍

    h5新增的一个重要元素,专门用来绘制图形(图表和其他图像)

    <canvas>只是图形的容器,而实际画图形的是js

    <canvas></canvas>

    2)浏览器的支持

        谷歌 4.0+

        IE  9.0+

        火狐 2.0+

        Safari 3.1+

        opera  9.0+

    3)创建一个画布

        <canvas id="canvas" width="500" height="400" style='background-color:red'></canvas>

        注意:默认情况下<canvas>元素没有边框和内容,通常需要指定一个id属性,width定义了画布的大小,可以在html中使用多个<canvas>

   

    4)使用js绘制图像

        1.获取canvas元素(一个页面中可以有多个)

            var canvas = document.getElementById("canvas")

        2.获取CanvasRenderingContext2D实例对象,使用实例对象的方法绘制图像

            var context = canvas.getContext("2d")

        3.调用方法画图

            context.fillStyle = 'red'

            context.fillRect(0,0,200,100)

        => 绘制一个红色的矩形,fillStyle属性可以是颜色、渐变、图片,默认是#000000(黑色)

        fillRect(x,y,width,height)方法定义了矩形当前的填充方式

    5)坐标

        canvas是一个二维网络,左上角为(0,0)

    6)路径

        画一条线

            moveTo(x,y)定义线条开始坐标

            lineTo(x,y)定义线条结束坐标

            stroke()沿着当前路径绘制

        画圆

            beginPath() 开始一个画布中的一条新路径

            ctx.arc(x,y,r,start,stop) 用一个中心点和半径,为一个画布的当前子路径添加一条弧线

            stroke()

        文本

            font  定义字体

            fillText(text,x,y) 绘制实心文本

            strokeText(text,x,y) 绘制空心文本

        渐变

            渐变可以填充在矩形、圆形、文本、线条等等

            两种设置渐变的方式

                createLinearGradient(x,y,x1,y1) 创建线条渐变

                    四个参数分别是渐变色起始坐标x,起始坐标y,结束坐标x,结束坐标y。

                createRadialGradient(x,y,r,x1,y1,r1) 创建一个径向渐变

                    六个参数分别是

                        起点圆心坐标(x0,y0)

                        起点圆心半径(r0)

                        终点圆心坐标(x1,y1)

                        终点圆心​半径(r1)

                       

                必须使用两种以上的停止颜色,addColorStop()方法指定颜色停止,参数使用坐标来描述,可以是0-1

        图像

           drawImage(image,x,y)

7.拖拽

    可以将一个元素拖拽到另一个位置,任何元素都可以拖拽

    1)设置元素为可拖放 true

   

    首先,为了使元素可拖动,把 draggable 属性设置为 true :

    <img draggable="true" />

   

    2)拖动什么 - ondragstart 和 setData()

    然后,规定当元素被拖动时,会发生什么。

    在上面的例子中,ondragstart 属性调用了一个函数,drag(event),它规定了被拖动的数据。

    dataTransfer.setData() 方法设置被拖数据的数据类型和值:

    function drag(ev)

    {

    ev.dataTransfer.setData("Text",ev.target.id);

    }

    在这个例子中,数据类型是 "Text",值是可拖动元素的 id ("drag1")。

   

    3)放到何处 - ondragover

   

    ondragover 事件规定在何处放置被拖动的数据。

    默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。

    这要通过调用 ondragover 事件的 event.preventDefault() 方法:

    event.preventDefault()

   

    4)进行放置 - ondrop 和 getData()

   

    当放置被拖数据时,会发生 drop 事件。

    在上面的例子中,ondrop 属性调用了一个函数,drop(event):

    function drop(ev)

    {

    ev.preventDefault();

    var data=ev.dataTransfer.getData("Text");

    ev.target.appendChild(document.getElementById(data));

    }

    代码解释:

    调用 preventDefault() 来避免浏览器对数据的默认处理(drop 事件的默认行为是以链接形式打开)

    通过 dataTransfer.getData("Text") 方法获得被拖的数据。该方法将返回在 setData() 方法中设置为相同类型的任何数据。

    被拖数据是被拖元素的 id ("drag1")

    把被拖元素追加到放置元素


 

8.服务器端环境安装

    apache2   web服务器

    jdk       运行java环境

    mysql     数据库

    nodejs    平台


 

java服务(代码) + 数据(mysql)   =>  部署到自己的服务器上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值