HTML5 学习札记

一、input标签自动完成功能

有的项目会要求实现自动完成或者输入提示功能,在HTML5的支持下将变得简单

<input type="text" autocomplete="on" name="demoAutoComplete" list="autoNames" />
<datalist id="autoNames">
       <option  value="实验楼" ></option>
       <option  value="HTML5" ></option>
       <option  value="input标签" ></option>
</datalist>

二、autofocus属性

demo:<input type="text" autofocus="autofocus"/>此属性可以设置当前页面中input标签加载完毕后获得焦点。

<input type="text" autofocus="autofocus" required pattern="\d+"/>

三、FileReader对象的三个读取文件数据方法

  • readAsBinaryString(Blob blob) 传入一个Blob对象,然后读取数据的结果作为二进制字符串的形式放到FileReader的result属性中。
  • readAsText(Blob blob, optional DOMString encoding) 第一个参数传入Blob对象,然后第二个参数传入编码格式,异步将数据读取成功后放到result属性中,读取的内容是普通的文本字符串的形式。
  • readAsDataURL(Blob blob) 传入一个Blob对象,读取内容可以做为URL属性,也就是说可以将一个图片的结果指向给一个img的src属性。
  • 实例二:读取上传文件内容,然后将文件内容直接读取到浏览器上(注:需要引入jQuery)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="Scripts/jquery-1.5.1.js" type="text/javascript"></script>
        <script type="text/javascript">
            if(typeof FileReader == "undified") {
                alert("您老的浏览器不行了!");
            }
    
            function showDataByURL() {
                var resultFile = document.getElementById("fileDemo").files[0];
                if (resultFile) {
                    var reader = new FileReader();
                    reader.readAsDataURL(resultFile);
                    reader.onload = function (e) {
                        var urlData = this.result;
                        document.getElementById("result").innerHTML += "<img src='" + urlData + "' alt='" + resultFile.name + "' />";
                    }; 
                }
            } 
    
            function showDataByBinaryString() {
                var resultFile = document.getElementById("fileDemo").files[0];
                if (resultFile) {
                    var reader = new FileReader();
                    //异步方式,不会影响主线程
                    reader.readAsBinaryString(resultFile);
                    reader.onload = function(e) {
                        var urlData = this.result;
                        document.getElementById("result").innerHTML += urlData;
                    };
                }
            }
    
            function showDataByText() {
                var resultFile = document.getElementById("fileDemo").files[0];
                if (resultFile) {
                    var reader = new FileReader();
                    reader.readAsText(resultFile,'gb2312');
                    reader.onload = function (e) {
                        var urlData = this.result;
                        document.getElementById("result").innerHTML += urlData;
                    };
                }
            }
    
        </script>
    </head>
    <body>
        <input type="file" name="fileDemo" id="fileDemo" multep/>
        <input type="button" value="readAsDataURL" id="readAsDataURL" onclick="showDataByURL();"/>
        <input type="button" value="readAsBinaryString"  id="readAsBinaryString" onclick="showDataByBinaryString();"/>
        <input type="button" value="readAsText"  id="readAsText" onclick="showDataByText();"/>
        <div id="result">
        </div>
    </body>
    </html>


四、Canvas绘图
  1. 要使用Canvas来绘制图形必须在页面中添加Canvas的标签

    <canvas id="demoCanvas" width="500" height="500">
    <p>
      请使用支持HTML5的浏览器查看本实例
    </p>
    </canvas>
    
  2. 只有上面的标签,只能是创建好了一个画布,其中width和height属性就是设置画布的大小。Id属性也是必须的,后面要用Id来拿到当前的Canvas的Dom对象。通过此Canvase的Dom对象就可以获取他的上下文(Context)了,Canvas绘制图形都是靠着Canvas对象的上下文对象

    <script type="text/javascript">
    //第一步:获取canvas元素
    var canvasDom = document.getElementById("demoCanvas");
    //第二步:获取上下文
    var context = canvasDom.getContext('2d');
    </script>
    
  3. Context上下文默认两种绘制方式:

    第一种:绘制线(stroke)

    第二种:填充(fill)

  4. 用于绘制立体透明矩形、圆、线条、文本、图形等



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值