--H5--

目录

一、progress

二、input输入框

三、音视频

四、画布-->canvas


一、progress

1.progress 表示运行中的进度

<progress></progress>

(1)在HTML中放置progress标签,无内嵌属性和文本时,显示的是整个进度条被填满的状态

--H5--

 (2)给progress设置属性

<progess value='50' max='100'></progress>

其中value是进度条在框里的进度,注意:设置value属性时,一定要设置max属性,页面才有效果

--H5--

二、input输入框

1.placeholder用来描述输入字段语气值的提示信息。注意:输入字段为空时显示

输入框:<input type='text' placeholder='输入'>

 在鼠标点击输入框还没输入内容时,输入框会显示提示信息输入

--H5--

 当输入内容时,提示信息会消失

--H5--

 2.type的类型,可以设置为number或date类型等。注意:其兼容性较差,在火狐浏览器中没有效果,在谷歌有效果--->不推荐使用

三、音视频

1.video-->视频

        属性:

        (1)src需要引入的视频地址                (2)controls 是否显示视频控件

        (3)autoplay 在视频就绪后马上播放                (4)muted 视频音频为静音模式

       [注意:autoplay要与muted搭配使用,否则不能自动播放]

        (5)loop 视频循环播放                (6)volume 视频音量 0~1

        (7)duration 视频总时长                (8)currentTime 当前播放进度

        (9)paused当前视频状态是否暂停 暂停true                (10)width、height 视频宽高

        (11)playbackRate 设置或返回视频当前的播放速度

        (12)end 视频是否播放结束 结束返回true

        方法:

        (1)play() 播放        (2)pause() 暂停        (3)load() 重新加载当前视频

实例:利用按钮来控制视频

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>video</title>
</head>
<body>
    <!-- 设置视频 -->
    <video src="./MV.mp4" autoplay muted controls loop></video><br>
    <!-- 设置按钮 -->
    <div id="btns">
        <button>播放</button>
        <button>暂停</button>
        <button>快进</button>
        <button>快退</button>
        <button>快倍速</button>
        <button>慢倍速</button>
        <!-- 播放和暂停按钮合一 -->
        <button>▶</button>
        <button>百分比</button>
    </div>
    <script>
        // 获取视频
        var video = document.getElementsByTagName('video')[0];
        // 用事件委托
        var btns = document.getElementById('btns');
        btns.onclick = function(event){
            var target = event.target;
            console.log(target.innerText);
            switch(target.innerText){
                case '播放':
                    video.play();
                    break;
                case '暂停':
                    video.pause();
                    break;
                case '快进':
                    video.currentTime += 10;
                    video.play();
                    break;
                case '快退':
                    video.currentTime -= 10;
                    video.play();
                    break;
                case '快倍速':
                    video.playbackRate *= 3;
                    video.play();
                    break;
                case '慢倍速':
                    video.playbackRate *= 0.1;
                    video.play();
                    break;
                case '▶':
                // video.pause -->true暂停
                    if(video.paused){
                        video.play()
                    }else{
                        video.pause()
                    }
                    break;
                case '百分比':
                    var current = video.currentTime;
                    var total = video.duration;
                    var bee = (current/total*100).toFixed(2);
                    alert(bee + '%');
                    break;
            }
        }
    </script>
</body>
</html>

2.audio-->音频 使用方式与video类似

四、画布-->canvas

1.canvas是专门来绘制图形的,在页面中放置一个canvas元素,相当于在页面上放置一块画布,canvas只是一个容器

2.绘制步骤

实例一:绘制矩形

(1)取得canvas对象        (2)取得2d上下文       

(3)设置绘图样式,使用图形上下文对象中的fillStyle填充样式,strokeStyle边框样式

(4)指定线宽,使用图像上下文对象中的lineWidth

(5)绘制矩形,使用图像上下文对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>canvas-矩形</title>
</head>
<body>
    <!-- 设置画布 -->
    <canvas height="500" width="500" style="border: 1px solid black;"></canvas>
    <script>
        // 获取画布对象
        var canvas = document.getElementsByTagName('canvas')[0]
        // 获取2d上下文
        var context = canvas.getContext('2d');
        // 设置填充样式-->填充和描边
        context.fillStyle = 'palevioletred';
        context.strokeStyle = 'pink'
        // 设置边框
        context.lineWidth = '2'
        // 绘制矩形
        // context.fillRect(x坐标,y坐标,宽度,高度)
        context.fillRect(20,20,100,100);
        context.strokeRect(200,200,100,100);
        // 清除矩形
        context.clearRect(20,20,20,20)
        context.clearRect(100,20,20,20)
        context.clearRect(20,100,20,20)
        context.clearRect(100,100,20,20)
    </script>
</body>
</html>

实例二:绘制圆形

(1)取得canvas对象        (2)取得2d上下文

(3)设定绘图样式,使用图像上下文对象中的fillStyle填充 strokeStyle边框样式

(4)指定线宽 使用图像上下文对象中的lineWidth

(5)开始创建路径context.beginPath()

(6)设置路径content.arc(圆心x坐标,圆心y坐标,圆半径,开始的角度,结束的角度,绘制的方向false->顺时针)

(7)关闭路径        (8)设定绘制样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>canvas-绘制圆形</title>
</head>
<body>
    <canvas width="500" height="500" style="border: 1px solid black;"></canvas>
    <script>
        var canvas = document.getElementsByTagName('canvas')[0];
        var context = canvas.getContext('2d');
        context.fillStyle = 'palevioletred';
        context.strokeStyle ='pink';
        context.lineWidth = '2';
        // 创建路径
        context.beginPath()
        // 设置路径
        context.arc(200,200,100,0,Math.PI/180*360,false);
        // 关闭路径
        context.closePath();
        // 设定绘制样式
        context.fill();
        context.stroke();
    </script>
</body>
</html>

注意:与绘制矩形的些微不同点:绘制矩形的设置绘制样式是:context.fillRect() 和context.strokeRect();而绘制圆形的设置绘制样式是:context.fill() 和 context.stroke()

实例三:渐变色

(1)取得canvas对象        (2)获取2d上下文

(3)创建渐变对象,并添加渐变色gradiant

(4)设置填充模式        (5)绘制矩形

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>canvas-渐变色</title>
</head>
<body>
    <canvas height="500" width="500" style="border: 1px solid black;"></canvas>
    <script>
        var canvas = document.getElementsByTagName('canvas')[0];
        var context = canvas.getContext('2d'); 
        // 起始和终点座位的坐标
        var gradiant = context.createLinearGradient(100,100,300,300);
        gradiant.addColorStop(0,'palevioletred');
        gradiant.addColorStop(0.5,'yellow');
        gradiant.addColorStop(1,'pink')
        context.fillStyle = gradiant;
        context.fillRect(100,100,200,200)
    </script>
</body>
</html>

实例四:图片

(1)取得canvas对象        (2)获取2d上下文对象

(3)创建图像对象        (4)在图像加载完成后绘制图像

(5)设置平铺模式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>cancas-图片</title>
</head>
<body>
    <canvas height="800" width="800" style="border: 1px solid black;"></canvas>
    <script>
        var canvas = document.getElementsByTagName('canvas')[0]
        var context = canvas.getContext('2d');
        // 创建图片对象
        var image = new Image();
        image.src = './12.jpg';
        // 在图片加载完成后执行方法
        image.onload = function(){
            // 绘制图片
            context.drawImage(image,10,10,100,100)
            // 创建平铺对象
            var pattern = context.createPattern(image,'repeat')
            context.fillStyle = pattern;
            context.fillRect(200,0,200,200)
        }
    </script>
</body>
</html>

实例五:文字

(1)取得canvas对象        (2)取得2d上下文

(3)设定绘制样式        (4)指定线宽

(5)绘制文字

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>canvas-文字</title>
</head>
<body>
    <canvas height="500" width="500" style="border: 1px solid pink;"></canvas>
    <script>
        var canvas = document.getElementsByTagName('canvas')[0];
        var context = canvas.getContext('2d');
        context.fillStyle = 'pink';
        context.strokeStyle = 'yellow';
        context.lineWidth = '2';
        //设置文字
        context.font = '50px 宋体';
        context.textAlign = 'center';
        // 绘制文字
        context.fillText('hello wan',200,100);
        context.strokeText('hello su',100,200)
    </script>
</body>
</html>

页面预览:

--H5--

 

上一篇:简约高级的中秋活动邀请函H5如何制作?


下一篇:H5核心基础---classList的使用