DOM-事件

一、事件3要素:事件源,事件类型,事件处理程序

1.事件源:触发对象按钮

2.事件类型:如何让触发,是点击onclick还是鼠标经过,键盘按下。

3.事件处理程序:通过一个函数赋值完成

<button id="btn">唐伯虎</button>
        
btn.onclick = function () {
            alert('点秋香');
        }

点击完按钮后窗口会弹出‘点秋香’

总的来说,执行事件分为以下3步:

执行事件步骤:获取事件源,绑定(注册)事件,添加事件处理程序 

<div>666</div>
var div = document.querySelector('div');
        div.onclick;
        div.onclick = function () {
            console.log('我被选中了');
        }

点击div的盒子3次会有下面结果,后台输出三次:

二、事件可改变元素内容

1.点击按钮,div里面的文字发生变化(点击后才会有效果)

<button>显示系统当前时间</button>
    <div>某个时间</div>
var btn = document.querySelector('button');
        var div = document.querySelector('div');
        btn.onclick = function () {
            // div.innerText = '2024-6-4';
            div.innerText = getDate();
        }
        function getDate() {
            var time = new Date();
            var h = time.getHours();
            h = h < 10 ? '0' + h : h;
            var min = time.getMinutes();
            min = min < 10 ? '0' + min : min;
            var second = time.getSeconds();
            second = second < 10 ? '0' + second : second;
            return h + ':' + min + ':' + second;
        }

2.元素可以不添加事件,页面刷新就可以显示想要的改变 

var p = document.querySelector('p');
p.innerText = getDate();

p.innerText和p.innerHTML的区别:

(1)后者可在修改的内容中可识别html标签(如strong加粗),是标准的,前者不能。

(2)p.innerText读取不会保留原来的黄行和空格,而p.innerHTML会保留

(3)这两个属性可读写获取元素里面的内容。如: console.log(p.innerText);

三、事件可改变属性

<button id="ldh">刘德华</button>
    <button id="zxy">张学友</button>
    <img src="images1/ldh.jpg " alt="" width="300px">

 要求点击‘刘德华’按钮,图片变成相应的,title也是,张学友也同理

var ldh = document.getElementById('ldh');
        var zxy = document.getElementById('zxy');
        var img = document.querySelector('img');
        ldh.onclick = function () {
            img.src = 'images1/ldh.jpg';
            img.title = '刘德华';
        }
        zxy.onclick = function () {
            img.src = 'images1/zxy.jpg';
            img.title = '张学友';
        }

四、练手案例-根据不同的事件出现不同的照片和问候语

    <img src="images1/s.gif" alt="">
    <div>上午好</div>

script中实现过程如下:

        //获取元素
        var img = document.querySelector('img');
        var div = document.querySelector('div');
        //2.获取当前小时数
        var date = new Date();
        var h = date.getHours();
        h = 20;
        if (h < 12) {
            img.src = 'images1/s.gif';
            div.innerHTML = '上午好,好好写代码';
        }
        else if (h < 18) {
            img.src = 'images1/x.gif';
            div.innerHTML = '下午好,好好写代码';
        }
        else {
            img.src = 'images1/w.gif';
            div.innerHTML = '晚上好,好好写代码';
        }

我是凌晨12点写的,获取当前事件为0时,结果如下:

为了验证完整性和正确性,我将h改成20,则为下面结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值