首页 > 编程语言 >24.11.12 JavaScript2

24.11.12 JavaScript2

时间:2024-11-13 22:47:29浏览次数:3  
标签:function 12 函数 setInterval 24.11 location taskId JavaScript2 1000

prompt()

confirm()

这些函数 会阻止js解析器(js解析器执行引擎 读取运行js) 执行 不要使用

2history对象

历史记录对象

对应浏览器前进后退按钮

    history 在历史记录里 
        back        前进  
        forward     后退
        go          0当前文档  负数 后退n个文档  正数 前进n个文档
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

</head>

<body>
    <input type="button" value="后退" onclick="myBack()"> 
    当前页面
    <input type="button" value="前进" onclick="myForward()">
    <input type="button" value="历史移动" onclick="myGo()">
</body>

<script>
    /*
    history 在历史记录里 
        back        前进  
        forward     后退
        go          0当前文档  负数 后退n个文档  正数 前进n个文档
    */

    function myBack(){
        //退回上一个浏览器的页面
        history.back()
    }

    function myForward(){
        history.forward()
    }

    function myGo(){
        history.go(1);
    }

</script>

</html>

3.location对象

    location 浏览器地址
        href属性 浏览器地址栏
                 可以使用三种路径
                 做页面跳转

    location.reload()  刷新当前页面

浏览器地址栏 可以控制浏览器跳转(意义重大)

前端跳转方式:

    <!-- 页面跳转的方式:
         1.a标签 
         2.表单提交
         3.location.href
           可以使用任意元素做跳转
    -->

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

</head>

<body>
    <!-- 页面跳转的方式:
         1.a标签 
         2.表单提交
         3.location.href
           可以使用任意元素做跳转
    -->

    <input type="button" value="跳转页面" onclick="changePage()">
    <input type="button" value="刷新页面" onclick="reFreshPage()">
</body>

<script>
    /*
    location 浏览器地址
        href属性 浏览器地址栏
                 可以使用三种路径
                 做页面跳转

    location.reload()  刷新当前页面
    
    */

    function changePage(){
        //三种路径
        /*
         1.相对路径
         location.href = "1内容改变事件.html"
         2.相对根路径   
         location.href = "/day4_javascript2/1内容改变事件.html"
         3.绝对路径
         location.href = "https://www.baidu.com"
        */
        location.href = "https://www.baidu.com"
    }

    function reFreshPage(){
        location.reload();
    }


</script>

</html>

4document对象

document 当前页面的html文档

获取元素的常用方法

    getElementById("id值")                      查找到唯一一个元素
    getElementsByClassName("class值")           查找指定class的元素数组
    getElementsByTagName("标签名")               查找指定标签名的元素

获取元素的组合使用

    <div>
        <input id="myText" type="text" value="aaa">
        <input class="mycls" type="text" value="aaa">
        <input class="mycls" type="text" value="aaa">
    </div>

    <div id="myDiv">
        <input id="myText" type="text" value="aaa">
        <input class="mycls" type="text" value="aaa">
        <input class="mycls" type="text" value="aaa">
    </div>
查找第二组元素中的input标签
 document.getElementById("myDiv").getElementsByTagName("input")    在元素内部查找指定元素
查找第二组元素中class值是mycls的元素
 document.getElementById("myDiv").getElementsByClassName("mycls")  在元素内部查找指定元素

遍历数组元素的常用方式

基础for循环(标准 有索引 有元素)

    for(let i = 0; i<eles.length;i++){
        eles[i].style.color ="red";
    }

for in 循环

    for(let x in eles){				//此处x是索引
       // 排除掉元素之外的数据
        if(eles[x].style!=undefined){
            eles[x].style.color ="red";
        }
    }

for of 循环(语法最简单 没有索引)

    for(let x of eles){				//此处x是数据
        console.log(x);
        x.style.color ="red";
    }

注意点:

1.在js中 class属性 ---> className

2.js中 如果调用元素属性不存在 得到的是undefined

​ 如果获取元素 查找不到 得到的是null

5打开关闭窗口

通过open close 可以打开关闭窗口(了解)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

</head>

<body>
    <input type="button" value="打开新窗口" onclick="myOpen()">
    <input type="button" value="关闭窗口" onclick="myClose()">
</body>

<script>
    //全局变量
    //通过全局变量 在多个函数间共享变量
    let newWin

    function myOpen(){
        //开广告常用
       newWin = open("http://www.baidu.com");
    }

    function myClose(){
        newWin.close();
    }


</script>

</html>

6.定时函数

定时函数 函数的执行器

 定时反复执行
        setInterval(执行的函数,间隔的毫秒数)
        clearInterval(taskId) taskId任务编号

 延时执行
        setTimeout(执行的函数,间隔的毫秒数)
        clearTimeout(taskId) taskId任务编号

传入函数三种写法

        传入函数方式
        1. setInterval("myTest()",1000)    "myTest()" 有引号和括号
        2. setInterval(myTest,1000)        myTest     直接函数名 不能加括号 否则会立即执行
        3. setInterval(function(){         传入匿名函数 通过匿名函数指定要执行的代码
                    console.log(22222);
                },1000)

示例:

    //开启定时函数
    let taskId = setInterval(function(){
         console.log(22222);
     },1000)
    //通过任务编号 停止定时
    function stopInterval(){
            clearInterval(taskId)

    }
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

</head>

<body>
    <input type="button" value="开启定时" onclick="startInterval(this)">
    <input type="button" value="停止定时" onclick="stopInterval()">
</body>

<script>
    /*
    定时函数  函数的执行器

        页面中 定时可以开启多个

        定时反复执行
        setInterval(执行的函数,间隔的毫秒数)
        clearInterval(taskId) taskId任务编号

        延时执行
        setTimeout(执行的函数,间隔的毫秒数)
        clearTimeout(taskId) taskId任务编号

        传入函数方式
        1. setInterval("myTest()",1000)    "myTest()" 有引号和括号
        2. setInterval(myTest,1000)        myTest     直接函数名 不能加括号 否则会立即执行
        3. setInterval(function(){         传入匿名函数 通过匿名函数指定要执行的代码
                    console.log(22222);
                },1000)
    */
    let taskId;
    function startInterval(myObj){
        //js执行 指令式js 执行一行 页面渲染一行
        myObj.disabled = true
        //if(taskId == undefined){
            taskId =  setInterval(function(){
                console.log(1);
            },1000)
       // }



    }

    function stopInterval(){
        clearInterval(taskId)
        
    }


    // function myTest(){
    //     console.log(11111);
        
    // }
    //开启定时函数
    // let taskId = setInterval(function(){
    //     console.log(22222);
    // },1000)


    // function stopInterval(){
    //     //clearInterval(taskId)
    //     clearTimeout(taskId);
    // }


    // let taskId = setTimeout(function(){
    //     console.log("你好");
    // },1000)

</script>

</html>

作业:

1.表单校验效果 独立完成
2轮播图 小人奔跑 可以开始和停止

只有8张到第八张之后 从第一张重新开始

3tab页切换 点击tab 切换下边的div

标签:function,12,函数,setInterval,24.11,location,taskId,JavaScript2,1000
From: https://blog.csdn.net/2401_87910368/article/details/143725314

相关文章

  • 24.11.13 Javascript3
    Javascript31.dom元素获取查找元素的函数getElementById("id值")查找到唯一一个元素getElementsByClassName("class值")查找指定class的元素数组getElementsByTagName("标签名")查找指定标签名的元素......
  • nfs服务器之间实现目录共享12
    title:nfs服务器之间实现目录共享date:2022-11-0522:41:54tags:[nfs,文件共享]categories:linux在使用airflow的时候,scheduler和worker之间的dag文件需要保持一致,而airflow没有解决这个问题,所以,需要我们自己解决dag文件的同步问题。第一个解决方案就是云服务商提供的nas......
  • 2024.11.13
    今日错题:一共10题,错误3题分析:(2)本文出现了语法错误,因为没有掌握关于“inone'sopinion”的语法所以导致了该题目的错误分析:(5)本题出现了2个不会的单词,其中一个单词有着关键性作用,出现了单词空缺,单词涉及薄弱,导致本题目出错,分析上下文无法推断出该单词的意思分析(8)本题单词出......
  • nfs服务器之间实现目录共享1234
    title:nfs服务器之间实现目录共享date:2022-11-0522:41:54tags:[nfs,文件共享]categories:linux在使用airflow的时候,scheduler和worker之间的dag文件需要保持一致,而airflow没有解决这个问题,所以,需要我们自己解决dag文件的同步问题。第一个解决方案就是云服务商提供的nas......
  • 2024.11.13 DP题单
    录制唱片你刚刚继承了流行的“破锣摇滚”乐队录制的尚未发表的\(N\)(\(1\leqN\leq20\))首歌的版权。你打算从中精选一些歌曲,发行\(M\)(\(1\leqM\leq20\))张CD。每一张CD最多可以容纳\(T\)(\(1\leqT\leq20\))分钟的音乐,一首歌不能分装在两张CD中。CD数量可以用完,也可以......
  • 题解:P11251 [GESP202409 八级] 美丽路径
    题目传送门题目大意给你一颗树,每个结点为黑色或白色。求一条路径,使得路径上距离为奇数的点颜色不同,距离为偶数的点颜色相同,输出这条路径最多能包含多少结点。思路讲解容易想到用树形动态规划搭配dfs解决。将结点1......
  • 2024年美国数学竞赛12年级组A卷P24:更接近二试问题
    题目楔形体是三角形面互相全等的四面体.一个楔形体的面是边长为整数的各边不等的三角形,那么它的总表面积最小为 $\textbf{(A)}\sqrt{3}\qquad\textbf{(B)}3\sqrt{15}\qquad\textbf{(C)}15\qquad\textbf{(D)}15\sqrt{7}\qquad\textbf{(E)}24\sqrt{6}$解设$ABCD$为各......
  • 2024年美国数学竞赛12年级组A卷P22:合适的一试P8
    题目下图是一个宽$8$英寸,高$3$英寸的点阵,由$1$英寸乘以$1$英寸的正方形组成.Carl将$1$英寸的牙签插在方格的一些边上,以形成一个不相交的闭合环.单元格中的数字表示该正方形中要用牙签覆盖的边的数量,如果没有写数字,则允许用任意数量的牙签.Carl放置牙签的方法种数为......
  • [20241112]无法理解sqlplus的输出.txt
    [20241112]无法理解sqlplus的输出.txt--//昨天遇到的问题,执行10tox.sql脚本出现一些状况。分析认为oracle把8d当作数字。--//但是还是遇到我无法理解的情况:1.环境:SCOTT@book>@ver1PORT_STRING                   VERSION       BANNER-------------......
  • Linux12位权限管理体
    1.Linux12位权限管理体1.1权限管理概述Linux通过rwx3种权限控制系统与保护系统,组成9位权限.Linux权限体系中还有3位特殊权限,组合起来就是12位权限体系.Linux这简单的rwx控制整个Linux系统的安全,权限与用户共同组成Linux系统的安全防护体系.1.2Linux权限计算2.0rwx......