让按钮来个酷动态!操纵DOM事件:JavaScript篇 (二)

上一篇整理了 JavaScript 操纵网页元件事件的基本流程:

  1. 指定网页元件,可用 getElementById 或 getElementsByClassName。
  2. 针对网页元件设定 addEventListener;指定监听的事件与执行的对应function。

而可使用得事件相当多元,除了常见的滑鼠事件、键盘事件与触控事件之外,还有载入事件、表单栏位相关的事件等,除了透过监测事件来进行更多元的互动外,很多时候也用於数据蒐集层面,利用事件来定义那些使用者行为是重要的、有价值的,已用於後续的使用分析进行更多优化。


利用CSS :hover可以改变网页元件的状态,与JavaScript这边的mouseover事件相同,但如果看CSS这边的写法可以发现,我们指定的是「网页元件的hover状态」,所以基本上这里只能改变的CSS样式状态只有网页元件本身,因此,要能够跳脱网页元件,指定其他部分、改变文字内容、逻辑条件运算或执行重复行为等,使用 JavaScript 来处理就最适合不过了,同时,JavaScript这边提供的事件比起CSS来说更丰富完整,所以相当多网页动态利用JavaScript撰写,另外也有相当多针对动态相关的Library发展。

当然,CSS可以做到的部分不一定要改写成JavaScript,依照开发体验与专案需求选择即可。

在使用JavaScript时,也可以CSS搭配transition,让转场更加流畅:

    body{
        background-color: white;
        transition: background-color 1s ease;
        }
<script type="text/javascript">
//1.指定网页元件
    let item=document.getElementsByClassName('my-div')[0];
    let webpage=document.getElementsByTagName('body')[0];
//2.监听事件与对应function
    //滑鼠移至物件时
    item.addEventListener('mouseover',
    function(){
        webpage.style.backgroundColor = 'gray'});
    //滑鼠离开物件时    
    item.addEventListener('mouseout',
    function(){
      webpage.style.backgroundColor = 'white'})
</script>

<<:  Day 12 | 魔术方块AR游戏开发Part1 - 魔术方块建立

>>:  Day11 小实作-数字时钟

Day 10:云端服务

前言 云端服务层级可分为三种: SaaS(软件即服务):提供给一般用户或商务使用的软件,如:Goog...

Day 13 - .NET Core奇遇记

主导的第一个计画就是帮厂商开发一个平台并且包含3D模型模拟的功能,然後需要有一个後台给厂商能够上传图...

Day 18 Flask 错误处理与回应

如果在网页中输入了非预期的 URL,或是做出非预期的动作时,正常会出现 404 Not Found ...

Day16 购物车 -- 异动通知

接续昨天内容,为什麽购物车要分成主体跟项目呢? 主要有几个原因,首先是因为扩充性比较好,再来是常用的...

Electron - 今晚我想来点 Electron 加 Vue.js

前几篇介绍了 Electron 如何操作,既然 Electron 是将网页包起来,那当然可以使用 V...