H5 新增 常用

一.H5 新增常用表单标签

<form action="">
        邮箱:<input type="email" name="email" id=""><br>
        颜色:<input type="color" name="color" id=""><br>
        数量: <input type="number" name="number" id="" max="100" min="0"><br>
        范围: <input type="range" name="range" id="" max="100" min="20" value="30"><br>
        <!-- time 时分秒 -->
        时间:<input type="time" name="time" id=""><br>
        <!-- date年月日 -->
        日期: <input type="date" name="date" id=""><br>
        日期+时间 <input type="datetime" name="" id=""><br>
        日期+时间 <input type="datetime-local" name="" id=""><br>
        月份 : <input type="month" name="" id=""><br>
        星期: <input type="week" name="" id="">
    </form>

最终效果
在这里插入图片描述

二. 新增常用属性

<body>
    <form action="" id="idform">
        <!-- placeholder :提示文本 autofocus:自动获取焦点 autocomplete:自动完成 on表示打开 off表示关闭 -->
        <input type="text" name="text" id="" placeholder="请输入用户名" autofocus autocomplete="on"><br>
        <!-- tel:并不会实现验证,仅仅只在移动端可以弹出数字键盘 -->
        <!-- required:必须输入,如果不输入,就会阻止数据的提交 -->
        <!-- pattern:匹配正则 -->
        <input type="tel" name="telPhone" id="" required pattern="^(\+86)?1\d{10}$"><br>
        <!-- multiple控制多个文件上传 -->
        <input type="file" name="file" id="" multiple>
    </form>
    <!-- form向指定表单追加表单元素  value值传入form表单的id值-->
    地址: <input type="text" name="address" id="" form="idform">
</body>

三.新增表单元素

 <form action="">
        <!-- < !--建立输入框与datalist的关联  list="datalist的id号"-->
        用户: <input type="text" list="userName"><br>
        <!-- 通过 datalist来创建下拉列表 -->
        <datalist id="userName">
            <!--创建选项值:value:具体的值 label:提示信息,辅助值-->
            <!-- option可以是单标签也可以是双标签 -->
            <option value="吴彦祖" label="身高180的长腿欧巴">
            <option value="谢霆锋" label="eee"></option>
        </datalist>
        网址 : <input type="url" list="urllist">
        <datalist id="urllist">
            <option value="www.baidu.com" label="百度"></option>
            <option value="www.163.cn" label="163">
        </datalist>
    </form>

最终效果
在这里插入图片描述

四 新增事件

<form action="">
        用户 : <input type="text" name="userName" id="userName"><br>
        电话 : <input type="tel" name="userPhone" id="userPhone" pattern="^1\d{10}$"><br>
        <input type="submit" value="提交">
    </form>
    <script>
        // 1. oninput :监听指定元素的内容变化,修改或者删除都会监听
        document.querySelector("#userName").oninput = function () {
            console.log("oninput" + this.value);
        }
        // 2. onkeyup :键盘弹起事件
        document.querySelector("#userName").onkeyup = function () {
            console.log("onkeyup" + this.value);
        }
        //3 . oninvalid 当验证密码不通过时触发
        document.querySelector("#userPhone").oninvalid = function () {
            this.setCustomValidity("请输入合法的手机号")
        }
    </script>

网络接口

<script>
    /*1.ononline:网络连通的时候触发这个事件*/
    window.addEventListener("online",function(){
        alert("网络连通了");
    });
    /*2.onoffline:网络断开时触发*/
    window.addEventListener("offline",function(){
        alert("网络断开了");
    })
</script>

五 多媒体标签

audio 音频 播放器
video视频 播放器

六 操作类样式

add 为指定元素添加类样式

document.querySelector("li").classList.add("red");

remove 为指定元素移除该样式

document.querySelector("li").classList.remove("red");

toggle 为指定元素切换为该样式

document.querySelector("li").classList.toggle("red");

contains 判断指定元素是否有该样式.bool类型

var a=document.querySelector("li").classList.contains("red");
console.log(a);

七 自定义属性

<body>
    <p data-my-name="张三"></p>
    <script>
        window.onload=function(){
            var p=document.querySelector("p");
            var value=p.dataset["myNname"];  //驼峰命名
            // console.dir(p);
            console.log(value);
        }
    </script>
</body>

八 文件上传

<form action="">
        <input type="file" name="file" id="file" value="文件上传">
    </form>
    <script>
        document.querySelector("#file").onchange = function () {
            var files = this.files;
            for (var i = 0; i < files.length; i++) {
                filesData(files[i]);
            }
        }
        function filesData(filesobj) {
            var reader = new FileReader();
            console.log(reader);
            reader.readAsDataURL(filesobj);
            reader.onload = function () {
                var img = document.createElement("img");
                document.body.appendChild(img);
                img.src = reader.result;
            }
        }
    </script>

八 sessionStorage 和 localStorage

1.HTML5提供的解决方案:
a)window.sessionStorage
b)window.localStorage

1.sessionStorage特点:
a)设置、读取方便
b)容量较大,sessionStorage约5M、localStorage约20M
c)只能存储字符串,可以将对象JSON.stringify() 编码后存储
1.1.Window.sessionStorage的使用
a)特点:
i.生命周期为关闭浏览器窗口:相当于存储在当前页面的内内存中
ii.在同一个窗口下数据可以共享(在当前页面下可以获取到,换另外一个页面下不能获取到)
b)方法介绍:(两种存储方式的方法一致)
i.SetItem(key,value):设置数据,以键值对的方式
ii.getItem(key):通过指定的键获取对应的值内容
iii.removeItem(key):删除指定的key及对应的值内容
iv.clear():清空所有存储内容
c)使用说明:

<script>
    var userData=document.getElementById("userName");
    //存储数据
    document.getElementById("setData").onclick=function(){
        window.sessionStorage.setItem("userName",userData.value);
    }
    //获取数据
    document.getElementById("getData").onclick=function(){
        var value=window.sessionStorage.getItem("userName");
        alert(value);
    }
</script>

2.Window.localStorage的使用
a)特点:
i.永久生效,除非手动删除:存储在硬盘上
ii.可以多窗口共享。但是不能跨浏览器
b)使用说明:

<script>
    var userData=document.getElementById("userName");
    //存储数据
    document.getElementById("setData").onclick=function(){
        window.localStorage.setItem("userName",userData.value);
    }
    //获取数据
    document.getElementById("getData").onclick=function(){
        var value=window.localStorage.getItem("userName");
        alert(value);
    }
    //删除数据
    document.getElementById("removeData").onclick=function(){
        window.localStorage.removeItem("userName");
    }
</script>

猜你喜欢

转载自blog.csdn.net/weixin_43072453/article/details/82846150