H5新增属性

1. 媒体元素

        1. video

        H5中的video标签可以向使用img显示图片一样简单去播放视频。video提供了很多属性和方法,我们可以通过直接设定或者通过js控制视频的显示

读写属性:

        1. controls 代表进度条

        2. autoplay 自动播放

        3. loop循环播放

        4. poster 封面

        5. src 连接到视频得地址

        6. width height 宽高 一般不一起设置

方法 : 

        1. play   播放

        2. pause   暂停

        3. paused   切换,是否是暂停状态

        4. volume   控制音量

        5. currentTime  当前播放秒数

        6. playbackRate   倍速播放

1.属性:进度条controls
<video src="./音视频/1.mp4"  controls> </video>
2.页面一加载是否自动播放autoplay
<video src="./音视频/1.mp4"  controls autoplay> </video>
3.post封面
<video src="./音视频/1.mp4" poster='./img/1.jpg'> </video>
4.是否循环播放loop
<video src="./音视频/1.mp4" controls loop> </video>
5.muted静音
<video src="./音视频/1.mp4" controls loop autoplay> </video>
// 方法
 <script>
        $(function() {
             // 获取视频标签
             var video = $('video')[0]
            // 给这一类按钮绑定事件
            $('button').click(function() {
                if($(this).text() === '播放'){
                    video.play()
                }
                // 暂停视频
                if($(this).text() === '暂停') {
                    video.pause()
                }
                // 切换 视频播放进行暂停 视频暂停进行播放
                if($(this).text() === '切换') {
                    // video.paused为true 代表暂停
                    console.log(video.paused);
                    if(video.paused) {
                        video.play()
                    }else {
                        video.pause()
                    }

                }
                // 控制音量+-
                if ($(this).text() === '音量+') {
                    // volume 0-1阈值  
                    // video.volume += 0.1;
                    // console.log(video.volume);
                    video.volume = (video.volume>0.9?0.9:video.volume)+0.1
                }
                // 音量-
                if ($(this).text() === '音量-') {
                    // video.volume -= 0.1;
                    video.volume = (video.volume<0.1?0.1:video.volume)-0.1
                }
                // 控制视频快进
                if($(this).text() === '快进') {
                    // 以秒为单位
                    video.currentTime += 10;
                }
                if($(this).text() === '快退') {
                    // 以秒为单位
                    video.currentTime -= 10;
                }
                // 倍速播放
                if($(this).text() === '倍速播放') {
                    // >1 快速播放
                    // <1 慢速播放
                    video.playbackRate = 3;
                }
            })
        })
    </script>
<body>
    <button>播放</button>
    <button>暂停</button>
    <button>切换</button>
    <button>音量+</button>
    <button>音量-</button>
    <button>快进</button>
    <button>快退</button>
    <button>倍速播放</button>
</body>

        2. audio 音频

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

<!-- 不加进度条相当于背景音乐 -->
<audio src="./音视频/1.mp3" autoplay loop></audio>

2. 画布

1.基本用法
(1)获取canvas对象--获取画布
	通过document.getElementById()等方法取得canvas对象。
(2)取得上下文(context)--获取画笔
    图形上下文是一个封装了很多绘图功能的对象,参数只能是“2d”
(3)定义填充样式
    context.fillStyle='red';
(4)绘制填充图形
    context.fillRect(10,10,100,100)//第一个参数是x轴开始位置,第二个参数是y轴开始位置,第三个参数是绘制图形的宽,第四个位置是绘制图形的高
<!-- 画布元素 -->
<canvas width="400px" height="400px"></canvas>
<script>
    // 1.获取画布
    var canvas = document.querySelector('canvas');
    // 2.获取画笔 上下文对象
    var context = canvas.getContext('2d');
    // 3.给图形设置填充样式
    // context.fillStyle = 'red';   // 实心填充
    // 4.绘制图形  绘制填充矩形
    // fillRect 参数 x轴起始位置 y轴起始位置 宽 高
    // context.fillRect(0,0,200,200);
    // 绘制轮廓矩形
    // 3.给图形设置填充样式
    context.strokeStyle = 'blue';
    // 给轮廓矩形设置线宽
    context.lineWidth = 8;
    // 4.绘制图形
    // strokeRect 参数 x轴起始位置 y轴起始位置 宽 高
    context.strokeRect(100,100,100,100);
    // 清除画布一部分区域
    // context.clearRect(100,100,50,50)
    // 清除画布全部区域
    // context.clearRect(0,0,400,400)
</script>

        绘制圆

 <!-- 设置画布 -->
    <canvas width="400px" height="400px"></canvas>
    <script>
        // 1.获取画布
        var canvas = document.querySelector('canvas');
        // 2.获取画笔 上下文对象
        var context = canvas.getContext('2d');
        // 3.需要给开始路径
        context.beginPath();
        // 4.绘制圆  arc 参数:x y 轴开始位置 r半径 开始弧度Math.PI(180°) 结束弧度 布尔值
        // true 代表逆时针绘制
        context.arc(100,100,100,0,Math.PI*2,true);
        // 5.绘制图的填充样式
        context.fillStyle = 'blue';
        // 6.绘制圆形
        context.fill();
        // 7.需要给结束路径
        context.closePath()

        圆的移动

<canvas width="600px" height="600px"></canvas>
    <script>
        // 1.获取画布
        var canvas = document.querySelector('canvas');
        // 2.获取画笔 上下文对象
        var context = canvas.getContext('2d');
        // 3.需要给开始路径
        var obj = {
            x: 100,
            y: 100,
            r: 100,
            color: 'yellow'
        };
        // 声明绘制圆的方法
        function draw(obj) {
            context.beginPath()
            context.arc(obj.x, obj.y, obj.r, 0, Math.PI*2)
            // 绘制填充圆
            // context.fillStyle = obj.color;
            // 绘制轮廓圆
            context.strokeStyle = obj.color;
            // 绘制圆
            // context.fill();
            // 绘制轮廓圆
            context.stroke()
            context.closePath();
        }
        // 声明圆移动的方法
        function move (obj) {
            obj.x += 5;
            obj.y += 5;
            draw(obj);
        }
        setInterval(function(){
            // 清除原先的圆
            context.clearRect(0,0,600,600)
            move(obj)
        },500)
        draw(obj);
    </script>

        渐变

 <canvas width="600px" height="600px"></canvas>
    <script>
        var canvas = document.querySelector('canvas');
        var context = canvas.getContext('2d');
        // 3. 绘制一个线性渐变图形
        // 3.1 创建一个线性渐变对象
        // createLinearGradient 参数 0 0 400 400
        var l = context.createLinearGradient(0,0,400,400);
        // 3.2 给渐变图形填充颜色  addColorStop 参数 0-1阈值 填充百分比  颜色
        l.addColorStop(0, 'red')
        l.addColorStop(0.25, 'blue')
        l.addColorStop(0.5, 'pink')
        l.addColorStop(0.75, 'cyan')
        l.addColorStop(1, 'yellow')
        // 4. 将渐变对象给到图形填充样式
        context.fillStyle = l;
        // 5. 绘制填充图形
        context.fillRect(0,0,400,400);
    </script>

        径向渐变

<canvas width="600px" height="600px"></canvas>
    <script>
        var canvas = document.querySelector('canvas');
        var context = canvas.getContext('2d');
        // 3. 绘制一个径向渐变图形
        // 3.1 创建一个径向渐变对象
        // createLinearGradient 
        // 参数 小圆x y r 大圆 x y r
        var g = context.createRadialGradient(200,200,100,200,200,200);
        // 3.2 给径向图形填充颜色  addColorStop 参数 0-1阈值 填充百分比  颜色
        g.addColorStop(0, 'blue')
        g.addColorStop(0.25, 'yellow')
        g.addColorStop(0.5, 'pink')
        g.addColorStop(0.75, 'cyan')
        g.addColorStop(1, 'red')
        // 4. 将径向对象给到图形填充样式
        context.fillStyle = g;
        // 5. 绘制填充图形
        context.fillRect(0,0,400,400);
    </script>

        绘制线段

 <canvas width="400px" height="400px"></canvas>
    <script>
        var canvas = document.querySelector('canvas');
        var context = canvas.getContext('2d');
        context.lineWidth = 8;
        // 需要开始路径
        context.beginPath();
        // 绘制线段
        context.moveTo(0,0);
        context.lineTo(100,100);
        context.lineTo(200,10);
        context.lineTo(300,100);
        // 结束路径
        context.closePath();
        // 给线段设置颜色
        context.strokeStyle = 'cyan';
        // 绘制线段
        context.stroke();
       
    </script>

         绘制图片和视频

   <canvas width="400px" height="400px"></canvas>
    <video controls src="./音视频/1.mp4" width="400px"></video>
    <script>
        var canvas = document.querySelector('canvas');
        var context = canvas.getContext('2d');
        // 创建一个img标签 构造函数方式
        // var img = new Image();
        // console.log(img);
        // img.src = './音视频/2.jpg';
        // img.onload = function() {
        //     context.drawImage(img, 0, 0, 100, 100)
        // }
        // 绘制视频
        // var video = document.querySelector('video');
        // function draw() {
        //     context.drawImage(video,0,0,300,300);
        //     requestAnimationFrame(draw)
        // }
        // draw()
        // 绘制文本
        context.font = '18px bold';
        // context.fillText('hello world', 100, 100)
        context.strokeText('hello world', 100, 100)
    </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值