首页 > 编程语言 >JavaWeb-js(4)

JavaWeb-js(4)

时间:2024-07-10 22:55:28浏览次数:16  
标签:function console log js let 事件 document JavaWeb

js事件

在前端页面中,js程序大多数是由事件来驱动的,当触发某些事件的时候,可以使用js负责响应。

js事件由三部分组成: 
    事件源——》指的是被触发的对象; 
    事件类型——》如何触发的事件,如:鼠标单击、双击、键盘操作等; 
    事件处理程序——》触发事件以后,使用一个函数来处理。 

因此事件步骤: 
    1. 获取事件源对象; 
    2. 注册事件;
    3. 添加处理程序。 

事件类型

 

 

 

事件的注册方式

1.静态注册 在html标签中注册 (如果元素是通过js创建的 ,就没法这样注册)

2.动态注册 在js代码中注册

<!DOCTYPE html>
<html lang="en">

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


    <style>

        .box{
            width: 200px;
            height: 200px;
            background-color: aqua;
        }
    </style>

</head>


<body>

    <!-- onclick 单击事件 -->
    <button onclick="clickEvent()" ondblclick="dblclickEvent()">我是按钮</button>

    <input id="phone-input" onfocus="focusEvent()" onblur="blurEvent()">

    <span id="check-text" style="display: none;">格式正确</span>


    <div class="box" onm ouseover="mouseoverEvent()"
        onm ouseout="mouseoutEvent()"
    ></div>

</body>
<script>




    //入口函数
    //可以方式js代码 先于html代码加载 导致 元素获取失败的问题
    window.onload = function () {
        console.log('加载完成了')
        console.log(document.querySelector('button'))



      
    }

    function clickEvent() {
            console.log('单击')
        }

        function dblclickEvent() {
            console.log('双击')

        }

        function focusEvent() {


            console.log('获取到焦点')
            console.log('请输入手机号')
        }

        function blurEvent() {

            //当失去焦点的时候验证手机号正确性
            console.log('开始验证手机号');

            let phoneInput = document.getElementById('phone-input')
            let phone = phoneInput.value


            let text = document.getElementById('check-text');
            text.style.display = 'inline';
            //验证手机号
            let reg = /^1[3456789]\d{9}$/

            if (reg.test(phone)) {
                text.innerText = '格式正确'
                text.style.color = '#00acff'
            } else {
                text.innerText = '格式有误'
                text.style.color = 'red'
            }
        }

        function mouseoverEvent(){
            console.log('鼠标划入')
        }

        function mouseoutEvent(){
            console.log('鼠标划出')
        }
</script>

</html>
 // false代表 事件冒泡 从下往上 默认的
    // true代表 事件捕获, 从上往下 
    document.getElementById('one').addEventListener('click', function () {

        console.log('one被点击了')
    },false)
    document.getElementById('two').addEventListener('click', function () {

        console.log('two被点击了')
    },false)
    document.getElementById('three').addEventListener('click', function () {

        console.log('three被点击了')
    },false)

option

false的话 就是事件冒泡了 从子元素到父元素
true的话   就是事件捕获 从父到子!

true 的触发顺序总是在 false 之前;
•如果多个均为 true,则外层的触发先于内层;
•如果多个均为 false,则内层的触发先于外层。

Event事件对象

事件对象e,是event的简称。当一个事件被触发时候,这个事件的有关数据都会被存储在一个事件对象e里面,这个对象e有许多固定方法提供给我们查看里面各种数据。 

Bom操作

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

    <style>

        body{
            height: 3000px;
        }

        .top-layout{
            width: 100%;
            height: 80px;
            background-color: blue;
            display: none;
            position: fixed;
            top: 0;
        }

        .goTop-btn{
            width: 50px;
            height: 50px;
            background-color: blue;
            border-radius: 50%;
            position: fixed;
            right: 100px;
            bottom: 100px;
            display: none;
        }
    </style>
</head>
<body>

    <div class="top-layout"></div>

    <div class="goTop-btn"></div>
    
</body>

<script>


    /*
    
        bom代表操作浏览器
        页面的放大缩小 , 页面的滚动, 浏览器加载情况
    */
   
   //监听浏览器加载完毕 方式1
   window.onload = function(){


   }

   //方式2
   window.addEventListener('load',function(){


   })

   //监听浏览器大小的改变
   window.addEventListener('resize',function(e){

    // console.log(window.innerWidth,window.innerHeight)
   })



   
   //获取 顶部栏目 和 按钮
   let topBtn= document.querySelector('.goTop-btn')
    let topLayout= document.querySelector('.top-layout');
    

   //监听浏览器滚动条滚动
   window.addEventListener('scroll',function(e){

 
    //获取当前滚动条的滑动距离
    let top = document.documentElement.scrollTop;

    
    if(top>1000){
        topLayout.style.display='block'
        topBtn.style.display='block'

    }else{
        topLayout.style.display='none'
        topBtn.style.display='none'
    }
   })


   //点击按钮 回到顶部
   topBtn.addEventListener('click',function(){

     window.scrollTo({
        top:0,
        behavior:"smooth"
     })
   })
</script>
</html>

定时器

  //定时器 1 setTimeout
    // function 延迟执行的函数,延迟的时间 
   let timeOut  =   setTimeout(function(){
        console.log(123)

          // 清除定时器
        // clearTimeout(this);
    },2000);


    function clearTime(){
        clearTimeout(timeOut);
    }
 // 循环执行的定时器:轮播图,倒计时,循环请求

   let setTime=  setInterval(function(){
        console.log("我被执行了")

    },1000)


    function clearTime(){
        clearInterval(setTime)

    }

 

 

 

标签:function,console,log,js,let,事件,document,JavaWeb
From: https://blog.csdn.net/rxdasd123456/article/details/140336393

相关文章

  • 基于Java+SSM+jsp的宠物信息交流平台系统的设计与实现(源码+数据库+讲解等)
    文章目录前言详细视频演示项目运行截图技术框架后端采用SSM框架前端框架JSP可行性分析系统测试系统测试的目的系统功能测试数据库表设计代码参考数据库脚本为什么选择我?获取源码前言......
  • 基于Java+SSM+jsp的汉服商城网站系统的设计与实现(源码+数据库+讲解等)
    文章目录前言详细视频演示项目运行截图技术框架后端采用SSM框架前端框架JSP可行性分析系统测试系统测试的目的系统功能测试数据库表设计代码参考数据库脚本为什么选择我?获取源码前言......
  • 基于Java+SSM+jsp的汉服商城网站系统的设计与实现(源码+数据库+讲解等)
    文章目录前言详细视频演示项目运行截图技术框架后端采用SSM框架前端框架JSP可行性分析系统测试系统测试的目的系统功能测试数据库表设计代码参考数据库脚本为什么选择我?获取源码前言......
  • 基于Java+SSM+jsp的儿童众筹救助系统的设计与实现(源码+数据库+讲解等)
    文章目录前言详细视频演示项目运行截图技术框架后端采用SSM框架前端框架JSP可行性分析系统测试系统测试的目的系统功能测试数据库表设计代码参考数据库脚本为什么选择我?获取源码前言......
  • js null 和undefined的区别
    概论null就是一个变量为空,未赋值,比如varabc=null;undefined就是未定义,就是属性还未声明,比如varabc={};abc.d就是undefind未定义,或者变量声明了,确还未赋值过。一般一个变量声明了,但是空值,用null比较适合,比如varabc=null;undefined出现的场景参考//变量声明了......
  • 基于JSP的大学新生报到管理系统毕设(源码+使用文档+LW)
    系统介绍基于JSP的大学新生报到管理系统是一个专为大学新生报到流程设计的Web应用程序,旨在简化新生报到、信息收集、宿舍分配等管理工作。以下是对这样一个系统的介绍,包括系统概述、主要功能、技术架构、开发优势、结论以及示例的源码和使用文档。系统概述大学新生报到管......
  • 基于JSP的工会会员管理系统毕设(源码+部署+使用说明)
    系统介绍基于JSP的工会会员管理系统是一个用于工会组织内部管理会员信息、活动、费用和通知的Web应用程序。本课题的目的是使工会会员信息管理清晰化,透明化,便于操作,易于管理。通过功能模块的优化组合实现不同的管理细节,使管理过程实现最大程度的自动化与信息化,并能自动对......
  • 基于JSP的大学生综合评测系统毕设(源码+使用文档+LW+部署)
    系统介绍基于JSP的工会会员管理系统是一个用于工会组织内部管理会员信息、活动、费用和通知的Web应用程序。以下是对这样一个系统的介绍,包括系统概述、主要功能、技术架构、开发优势、结论以及示例的源码和使用文档。系统概述工会会员管理系统旨在帮助工会组织高效地管理......
  • 利用Selenium和PhantomJS绕过接口加密的技术探索与实践
    selenium+phantomjs绕过接口加密我们为什么需要selenium之前我们讲解了Ajax的分析方法,利用Ajax接口我们可以非常方便地完成数据的爬取。只要我们能找到Ajax接口的规律,就可以通过某些参数构造出对应的的请求,数据自然就能被轻松爬取到。但是,在很多情况下,Ajax请求的接口通......
  • Hogan.js模板引擎
    Hogan.js模板引擎Hogan.js是Twitter开源的一款轻量级、高效的JavaScript模板引擎,它使得在客户端或者服务器端生成HTML变得简单而直观,在github上拥有者5.1K的starhttps://github.com/twitter/hogan.jshttps://twitter.github.io/hogan.js/简介Hogan.js的设计目标是提......