• JS | “鼠标跟随”案例以及“留言板”案例


    目录

    案例一:图片跟着鼠标移动

    案例二:留言板


    案例一:图片跟着鼠标移动

    分析:

    1. 鼠标不断的移动,使用鼠标移动事件:mousemove
    2. 在页面中移动,给document注册事件
    3. 图片要移动距离,且不占位置,我们使用绝对定位即可
    4. 核心原理:每次鼠标移动,我们都会获得最新的鼠标坐标,把这个x和y坐标作为图片的top和left值就可以移动图片。【在改变top和left值时,记得在x和y后面加单位 ‘px’】

    CSS: 

    HTML+JS:

    1. "./img/CUTE.jpg" width="100px">
    2. <script>
    3. document.addEventListener('mousemove',function(e){
    4. var img =document.querySelector('img')
    5. var x = e.pageX;
    6. var y = e.pageY;
    7. img.style.left = x + 'px';
    8. img.style.top = y + 'px';
    9. })
    10. script>

    效果图:

    在这里有一点需要注意的点,如果我们的图片还可以给它固定定位

    但如果我们使用固定定位,横纵坐标还用e.pageX和e.pageY的话,会受到滚轮的影响;而clientX、clientY不会受滚轮的影响 ,所以我们在使用固定定位时,横纵坐标记得要使用clientX、clientY。

    案例二:留言板

    分析:

    1. 当我们没有在输入框中输入内容时,点击提交按钮会有弹窗
    2. 创建节点,给新节点添加内容(包括“删除”超链接),把新节点添加到父节点上,清空输入框的内容
    3. 先判断留言区有没有可以删除的留言,如果没有,弹窗提示
    4. 删除想要去除的那一条留言

    CSS: 

    HTML+JS: 

    1. <div class="box">
    2. <textarea>textarea>
    3. <button>提交留言button>
    4. <h3>留言区:h3>
    5. <ul>ul>
    6. div>
    7. <script>
    8. var btn = document.querySelector('button')
    9. var ulNode = document.querySelector('ul')
    10. var msg = document.querySelector('textarea')
    11. btn.onclick = function () {
    12. if (msg.value == '') {
    13. alert('你当前没有输入任何内容')
    14. }else{
    15. //创建一个节点
    16. var li = document.createElement('li')
    17. //给节点添加内容
    18. li.innerHTML = msg.value+"删除"
    19. //添加节点
    20. ulNode.appendChild(li)
    21. //清除文本框的内容
    22. msg.value = ''
    23. }
    24. //删除节点
    25. if(ulNode.children.length == 0){
    26. alert('你当前没有添加内容')
    27. return false
    28. }else{
    29. ulNode.addEventListener('click',function(e){
    30. if(e.target.nodeName == 'A'){
    31. ulNode.removeChild(e.target.parentNode)
    32. }
    33. })
    34. }
    35. }
    36. script>

    效果:

  • 相关阅读:
    vtk- 数据类型(一) 三角链实例代码
    Kafka源码-执行IO事件
    Linux (Ubuntu)c编程 (入门必看)
    第09章 房地产行业案例实战
    管道读写特点以及设置成非阻塞
    香橙派 Orange Pi Zero2 使用配置指南
    范西特-泽尼克定理的证明
    大数据Flink(六十八):SQL & Table 的基本概念及常用 API
    基于JAVA仁爱公益网站计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    阿里云无影升级2.0 云电脑解决方案时代到来
  • 原文地址:https://blog.csdn.net/m0_72383454/article/details/126539905