H5 新增标签

header nav aside main footer

表单input type:email  url tel(number 移动端会弹出数字键盘) color range date time datetime-local datetime(无效) number search(email 有删除x) submit button file

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title></title>
</head>
<body>
    <form action="" id="loginform">
        username:<input type="text" placeholder="please input name" name="username" autocomplete="on" autofocus><br>
        mobile:<input type="tel" placeholder="please input mobile" id="mobile" name="mobile" pattern="^(\+86)?1\d{10}$" required><br>
        file:<input type="file" multiple=""><br>
        <input type="submit"value="submit"></input>
    </form>
    地址:<input type="text" name="addr" form="loginform" id="addr"/><!--addr也会提交到loginform-->
    
    <form action="">
        开发:<input type="text" list="dlist"><!--input 即可以输入又可以选择 list指定数据源(firefox不支持)  若type=url则option value必须是合法的url(http https开头)-->
        <datalist id="dlist">
            <option value ="Html" label="前端开发"></option>
            <option value ="Python"  label="Python开发"></option>
            <option value ="Java" label="java开发"></option>
        </datalist>
    </form>
<script type="text/javascript">
    //input 新增属性 placeholder autofocus autocomplete pattern required multiple(file email(逗号分隔)可用)
    //input 新增事件 oninput oninvalid
    var addrInput=document.getElementById('addr');
    console.log(addrInput)
    addrInput.addEventListener("input",function(){
        console.log('ssssssssss')
    })
    document.getElementById('mobile').oninvalid=function(){
        this.setCustomValidity('请输入合法的手机号')
    }
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title></title>
    <style>
        *{
            margin:0;
            padding:0
        }
        body{
            margin:35px
        }
        fieldset{
            width:600px;
            margin:0 auto;
        }
        form{
            padding:20px;
        }
        form>label,form>input{
            width:100%;
            margin-bottom:5px
        }
        form>input,meter{
            width:100%;
            height: 40px;
            border:none;
            border:1px solid #ccc;
            line-height: 40px;
            border-radius: 10px;
            font-size: 14px;
            padding-left:8px;
            margin-bottom:10px
        }
    </style>
</head>
<body>
    <fieldset id="">
        <legend>学生档案</legend>
        <form action="">
            <label for="username">姓名:</label>
            <input type="text" name="username" id="username" placeholder="请输入用户名" autofocus="autofocus" required="required">
            <label for="mobile">手机号:</label>
            <input type="number" name="mobile" id="mobile" placeholder="请输入手机号" pattern="^1\d{10}$" required="required">
            <label for="email">邮箱:</label>
            <input type="email" name="email" id="email" placeholder="请输入email"  required="required">
            <label for="dlang">开发语言:</label>
            <input type="text" name="dlang" id="dlang" placeholder="请输入开发语言"  required="required" list="langlist">
            <datalist id="langlist">
                <option value="Html"></option>
                <option value="Python"></option>
                <option value="Java"></option>
            </datalist>
            <label for="score">成绩:</label>
            <input type="number" name="score" id="score" placeholder="请输入成绩" max="100" min="0" value="0" required="required">
            <label for="level">基础水平:</label>
            <meter  name="level" id="level"  max="100" min="0" low="59" high="90"></meter>
            <label for="joindate">入学日期:</label>
            <input type="date" name="joindate" id="joindate" placeholder="请输入入学日期"  required="required">
        </form>
        
    </fieldset>

<script type="text/javascript">
    document.getElementById('score').oninput=function(){
        document.getElementById('level').value=this.value
    }
</script>
</body>
</html>

 h5 css样式添加 删除document.querySelector("#add").classList.add("add")  document.querySelector("#add").classList.remove("add")  document.querySelector("#add").classList.toggle('add')  document.querySelector("#add").classList.contains("add")

自定义属性规范:1、data-xx 开头 2、data-后必须至少有一个字符  建议:名称都小写(不要包含任何大写 特殊符号或纯数字)

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title></title>
    <style>
        *{
            margin:0;
            padding:0
        }
        body{
            margin:35px
        }
        ul,li{
            list-style: none;
        }
        .add{
            color:red
        }
        .add1{
            font-size: 16px;
        }
    </style>
</head>
<body>
    <ul>
        <li id="add">sdfdswer</li>
    </ul>
    <div id="div1" data-my-name="howhy">dsfsf </div>
<script type="text/javascript">
    document.querySelector("#add").classList.add("add")
    var aa=document.querySelector("#add").classList.contains("add")
    console.log(aa)
    var divs=document.querySelector("#div1").dataset;
    console.log(divs["myName"])//取自定义属性用【camel命名法】
</script>
</body>
</html>

 ##新接口事件

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title></title>
    <style>
        *{
            margin:0;
            padding:0
        }
        body{
            margin:35px
        }
        div{
            border:1px solid red;
        }
    </style>
</head>
<body>
    <div>
        <input type="button" id="full" value="fullscreen">
        <input type="button" id="cancelfull" value="cancelfull">
        <input type="button" id="isfull" value="isfull">
        <form action="">
        文件:<input type="file" name="uploadfile" id="uploadfile" onchange="getFileContent()"></input>
        <input type="submit">
        </form>
        <img src="" alt="">
    </div>
<script type="text/javascript">
    //新增的网络接口
    window.addEventListener('online',function(){
        console.log("网络连通了")
    })
    window.addEventListener('offline',function(){
        console.log("网络断开了")
    })
    //全屏操作 全屏:requestFullScreen cancelFullScreen
    var div=document.querySelector("div");
    document.querySelector('#full').onclick=function(){
        if(div.webkitRequestFullScreen){
            div.webkitRequestFullScreen()
        }else if(div.mozRequestFullScreen){
            div.mozRequestFullScreen()
        }else if(div.msRequestFullscreen){
            div.msRequestFullscreen()
        }else{
            div.requestFullScreen()
        };
    }
    document.querySelector('#cancelfull').onclick=function(){
        if(document.webkitCancelFullScreen){
            document.webkitCancelFullScreen()
        }else if(document.mozCancelFullScreen){
            document.mozCancelFullScreen()
        }else if(document.msCancelFullScreen){
            document.msCancelFullScreen()
        }else if(document.cancelFullScreen){
            document.cancelFullScreen()
        };
    }
    document.querySelector('#isfull').onclick=function(){
        if(document.webkitIsFullScreen||document.mozIsFullScreen||document.msIsFullScreen||document.isFullScreen){
            console.log("isfull>>>>>:true")
        }else{
            console.log("isfull>>>>>:false")
        };
    }
    //FileReader readAsText
    function getFileContent(){
        var reader=new FileReader();
        var file=document.querySelector('#uploadfile').files
        console.log(file[0])
        reader.readAsDataURL(file[0])
        reader.onload=function(){
            console.log(reader.result)
            document.querySelector('img').src=reader.result
        }
    }
</script>
</body>
</html>

 h5元素拖拽

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title></title>
    <style>
        *{
            margin:0;
            padding:0
        }
        body{
            margin:35px
        }
        div{
            width:200px;
            height:200px;
            border:1px solid red;
        }
    </style>
</head>
<body>
    <div id="div1"><p  draggable="true">dfsdfwer2342343</p></div>
    <div style="border-color:green" id="div2"></div>
<script type="text/javascript">
    //拖拽事件 draggable="true" 
    //被拖拽元素 ondrag 整个拖拽过程都会调用 ondragstart 拖拽开始 ondragleave鼠标移开拖拽元素时 ondragend 拖拽结束 
    //目标元素 ondragenter ondragover ondrop ondragleave
    var pele=document.querySelector('p')
    pele.ondragstart=function(){
        console.log('ondragstart')
    }
    pele.ondrag=function(e){
        console.log('ondrag')
        e.preventDefault()
    }
    pele.ondragleave=function(){
        console.log('ondragleave')
    }
    pele.ondragend=function(){
        console.log('ondragend')
        
    }
    var divele2=document.querySelector('#div2')
    var divele1=document.querySelector('#div1')
    divele2.ondragenter=function(e){
        
    }
    //浏览器默认不会触发ondrop 
    divele2.ondragover=function(e){
        e.preventDefault()
    }
    divele2.ondrop=function(){
        console.log(333333)
        this.appendChild(pele)
    }
    //浏览器默认不会触发ondrop
    divele1.ondragover=function(e){
        e.preventDefault()
    }
    divele1.ondrop=function(){
        console.log(333333)
        this.appendChild(pele)
    }
</script>
</body>
</html>

 

  

posted @ 2022-02-21 18:23  howhy  阅读(54)  评论(0编辑  收藏  举报