Java实训第七天——2023.6.13

news2024/11/23 16:55:17

文章目录

  • 一、用Visual Studio Code写一个计算器
  • 二、同一个js被多个html引用
  • 三、js操作css
  • 四、DOM对象属性的操作案例
  • 五、js解析json

一、用Visual Studio Code写一个计算器

功能:实现简单的加减乘除

<!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="text" name="" id="num1" value="">
    <select name="" id="op">
        <option value="+">+</option>
        <option value="-">-</option>
        <option value="*">*</option>
        <option value="/">/</option>
    </select>
    <input type="text" name="" id="num2" value="">
    <input type="button" value="计算" onclick="calc()">
    <input type="text" name="" id="num3" value="">
</body>
</html>
    <script>
        function calc(){
            let num1Obj = document.getElementById("num1");
            let num1 = num1Obj.value;
            console.log(num1);
            let num2Obj = document.getElementById("num2");
            let num2 = num2Obj.value;
            console.log(num2);

            if(num1 == "" || num2 == ""){
                alert("数据不合法");
                return;
            }

            if(window.isNaN(num1) || window.isNaN(num2)){
                alert("数据不合法");
                return;
            }

            let opObj = document.getElementById("op");
            let op = opObj.value;
            console.log(op);
            let num3;
            if(op == "+"){
                num3 = window.parseInt(num1) + window.parseInt(num2);
            }else if (op == "-"){
                num3 = window.parseInt(num1) - window.parseInt(num2);
            }else if (op == "*"){
                num3 = window.parseInt(num1) * window.parseInt(num2);
            }else{
                num3 = window.parseInt(num1) / window.parseInt(num2);
            }
            let num3Obj = document.getElementById("num3");
            num3Obj.value = num3;
        }
    </script>

页面展示:
在这里插入图片描述

结果演示:
1.

2.
在这里插入图片描述
3.
在这里插入图片描述

在这里插入图片描述

二、同一个js被多个html引用

1.必须放在同一级
在这里插入图片描述

2.my.js代码

function init(){
    console.log("网页加载完毕,开始发送请求获取最新的学生信息");
}

function focus1(usernameObj){
    usernameObj.value = "";
}

function blur1(usernameObj){
    let messageSpanObj = document.getElementById("messageSpan");
    let username = usernameObj.value;
    if(username == ""){
        messageSpanObj.innerHTML = "用户名不能为空";
        return;
    }
    if(username.length < 3 || username.length > 6){
        messageSpanObj.innerHTML = "用户名长度必须是3~6位";
        return;
    }
    messageSpanObj.innerHTML="√";
}

3.demo04.html代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!--
        onblur:失去焦点事件
        onfocus:获取焦点事件
        onclick:鼠标单击事件
        onload:网页加载事件
    -->
</head>
<body>
    用户名:<input type="text" name="" id="username" value="请输入你的账号"
    onfocus="focus1(this)" onblur="blur1(this)">
    <span id="messageSpan"></span>
</body>
</html>
<script src="./js/my.js"></script>

结果演示:
1.
在这里插入图片描述
2.
在这里插入图片描述
3.
在这里插入图片描述

三、js操作css

补充:可以快速生成表格

table>tr*6>td*1

回车后:

        <table>
            <tr>
                <td></td>
            </tr>
            <tr>
                <td></td>
            </tr>
            <tr>
                <td></td>
            </tr>
            <tr>
                <td></td>
            </tr>
            <tr>
                <td></td>
            </tr>
            <tr>
                <td></td>
            </tr>
        </table>

代码如下:

<!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>
    <table width="600" cellspacing="0" border="1">
        <tr>
            <td> &nbsp;</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
        </tr>
    </table>
</body>
<!-- onmouseover:鼠标划入事件  onmouseout:鼠标划出事件 -->

</html>
<script>
    let trObjArray = document.getElementsByTagName("tr");
    for (let trObj of trObjArray) {
        trObj.onmouseover = function(){
            this.style.backgroundColor ="red";
        }
        trObj.onmouseout = function(){
            trObj.style.backgroundColor = "white";
        }
    }
</script>

演示过程

四、DOM对象属性的操作案例

有如下图片,前缀后缀都一样,要求实现按 “上一张” 和 “下一张” 时能成功跳转。
在这里插入图片描述
文件结构如下:
在这里插入图片描述

代码如下:

<!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>
    <center>
        <input type="button" value="上一张" onclick="prev()">
        <input type="button" value="下一张" onclick="next()">
        <br>
        <img src="../img/girl1.jpg" alt="" width="200" height="300" id="mv">
    </center>
</body>
<script>
    let count = 0;
    function prev(){
        count --;
        if(count < 1){
            count = 8;
        }
        let mvObj = document.getElementById("mv");
        mvObj.src ="../img/girl" + count + ".jpg";
    }
    function next(){
        count ++;
        if(count > 8){
            count = 1;
        }
        let mvObj = document.getElementById("mv");
        mvObj.src ="../img/girl" + count + ".jpg";
    }
</script>
</html>

五、js解析json

初始模板:
在这里插入图片描述
代码:

<!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>
    <script>
        let student = { stuid: 1001, stuname: "张三" };
       console.log(student.stuid + "------" + student.stuname);

        let students = [
          { stuid: 1001, stuname: "张三" },
          { stuid: 1002, stuname: "李四" },
          { stuid: 1003, stuname: "王五" },
        ];

       console.log(students[2].stuname)
       for(const student of students){
        console.log(student.stuid + "," +student.stuname)
       }

        let responseResult = {
          code: 200,
          message: "查询成功",
          data: [
            { stuid: 1001, stuname: "张三", love: ["吃饭", "睡觉"] },
            { stuid: 1002, stuname: "李四", love: ["吃饭", "睡觉", "学习"] },
            { stuid: 1003, stuname: "王五", love: ["打豆豆", "睡觉", "学习"] },
          ],
        };

        console.log(responseResult);
        if(responseResult.code == 200){
        for(const student of responseResult.data){
            let love = "";
            for(const item of student.love){
                love = love + item + ""
            }
            console.log(student.stuid + "," + student.stuname + "," + love);
        }
    } 
      </script>
</body>
</html>

结果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/645223.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何录制声音?推荐这2款电脑录音软件!

案例&#xff1a;怎么录制电脑上的声音&#xff1f;在电脑上怎么录制自己的声音&#xff1f;有没有小伙伴知道操作的步骤。 【我想录制语音会议&#xff0c;还想录制自己的歌声&#xff0c;在电脑上如何录制声音&#xff1f;求一个简单易懂的教程&#xff0c;在线等&#xff0…

使用ReactPy报错:RuntimeError: No built-in server implementation installed.解决

目录 一、问题呈现二、问题原因及解决办法三、处理结果 一、问题呈现 在初次运行ReactPy报错raise RuntimeError("No built-in server implementation installed.") RuntimeError: No built-in server implementation installed.具体报错信息如下&#xff1a; D:\i…

小程序快速渲染机制及双线程技术解析

不管我们对于小程序这种形态存在何种质疑&#xff0c;但不可否认已经融入到我们生活的方方面面&#xff0c;出门打车、扫码、点外卖甚至收能量等等操作都是以小程序进行承载。背后的缘由是小程序足够轻量、便捷、跨平台等特点&#xff0c;为用户提供了丰富的功能和优质的用户体…

作为一个优秀的项目经理,你需要做什么?

经常看到这样的项目经理&#xff0c;一副整天忙得团团转的样子&#xff0c;整天忙得团团转&#xff0c;发出一大堆指令&#xff0c; 经常事无巨细都要亲自过问&#xff0c;他还会不断抱怨说&#xff1a; " 我很忙 " 或 " 我很累 " &#xff0c; " 我…

大厂最全1100道Java面试题及答案整理(2023最新版)

前言 春招&#xff0c;秋招&#xff0c;社招&#xff0c;我们 Java 程序员的面试之路&#xff0c;是挺难的&#xff0c;过了 HR&#xff0c;还得被技术面&#xff0c;小刀在去各个厂面试的时候&#xff0c;经常是通宵睡不着觉&#xff0c;头发都脱了一大把&#xff0c;还好最终…

5、alibaba微服务nacos的引入和使用

1、项目中引入nacos 父项目中已经引入了spring-cloud-alibaba&#xff0c;这个里面就已经包含nacos依赖了&#xff0c;所以在子项目中引入nacos依赖不用添加版本信息 <dependencies><dependency><groupId>org.springframework.boot</groupId><arti…

Java创建线程的两种方式和线程的生命周期

方式一&#xff1a;继承Thread类的方式&#xff1a; 创建一个继承于Thread类的子类 重写Thread类的run() --> 将此线程执行的操作声明在run()中 创建Thread类的子类的对象 通过此对象调用start()&#xff1a;①启动当前线程 ② 调用当前线程的run() 说明两个问题&#…

Python3数据分析与挖掘建模(12)多因子:复合分析-相关分析与实现示例

1. 相关分析 1.1 概述 相关分析是一种统计分析方法&#xff0c;用于研究两个或多个变量之间的关系和相互影响程度。它帮助我们了解变量之间的线性关系、趋势和相关程度。 在相关分析中&#xff0c;常用的指标是相关系数&#xff0c;用于衡量两个变量之间的相关程度。最常见的…

Linux之文件一般权限

目录 Linux之文件一般权限 文件和目录的一般权限 解析&#xff1a; 文件类型 文件的权限针对三类对象进行定义 文件针对每类访问者定义的三种权限 对于文件和目录&#xff0c;r&#xff0c;w&#xff0c;x的作用以及含义 设置文件和目录的一般权限 修改文件或目录权限 ---…

论文可视化分析神器——CiteSpace和vosviewer

文献计量学是指用数学和统计学的方法&#xff0c;定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体&#xff0c;注重量化的综合性知识体系。特别是&#xff0c;信息可视化技术手段和方法的运用&#xff0c;可直观的展示主题的研究发展历程、研究现状、研究…

MySQL启停要十分钟?

一、问题背景 基础环境&#xff1a; 主机类型&#xff1a;x3850 X6 操作系统&#xff1a;DB:Red Hat Enterprise Linux 9.1 7.8 存储&#xff1a;IBM存储&#xff0c;500GB 内存&#xff1a;64 G CPU型号&#xff1a;E7-4830 v3 2.10GHz CPU核数&#xff1a;32CORE 数据…

洞察丨挖掘游戏行为数据价值的 6 个新思路

现阶段&#xff0c;游戏赛道越来越难&#xff0c;主要表现在玩家对游戏质量的要求提高、游戏立项选择空间变小、游戏买量越来越贵且回本周期越来越长……与此同时&#xff0c;游戏出海势头依然强劲&#xff0c;难以突破重围。 可以说&#xff0c;几乎所有的游戏都在尽可能地朝着…

便利店小程序怎么做

便利店小程序是一种基于移动互联网的购物平台&#xff0c;它为用户提供了便捷的购物体验&#xff0c;可以满足用户的购物需求。下面是便利店小程序的主要功能介绍&#xff1a; 1. 商品展示&#xff1a;便利店小程序可以展示商家的商品信息&#xff0c;包括商品图片、价格、描述…

【什么是iMessage推送,im群发】苹果推iMessage是苹果公司为其设备用户提供的即时通讯服务

iMessage是苹果公司为其设备用户提供的即时通讯服务&#xff0c;拥有一系列强大的功能和特点。然而&#xff0c;至今为止&#xff0c;苹果并未提供官方的群发部署功能。iMessage主要被设计为点对点的通信工具&#xff0c;即用户可以与一个或多个人进行私密的聊天对话。以下是关…

酷克数据简丽荣:“模型热”将引发云计算与数据库行业大变革

随着LLM智能涌现的发生和API的爆发式发展&#xff0c;各行各业都在关注如何用好通用模型&#xff0c;如何调校好适合自己的行业应用。LLM最重要的输入是数据&#xff0c;最频繁的接口是数据库。模型应用的普及会对数据库产生哪些影响&#xff1f;大模型时代对企业的数据管理能力…

深度学习应用篇-元学习[13]:元学习概念、学习期、工作原理、模型分类等

【深度学习入门到进阶】必看系列&#xff0c;含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍&#xff1a;【深度学习入门到进阶】必看系列&#xff0c;含激活函数、优化策略、损失函数、模型调优、归一化…

通讯基站电源智能监控系统

通信基站又称无线基站&#xff0c;一般都安装在宽阔、偏远的地方&#xff0c;且分散&#xff0c;实现人工值守十分困难&#xff0c;成本高&#xff1b;另外局部内动力设备、蓄电池电源以及环境无法及时监视和控制&#xff0c;造成事故频发。然而蓄电池作为直流备用电源&#xf…

怎么把图片放大不改变清晰度,给大家介绍两个方法

时代的发展和进步&#xff0c;我们在使用手机、电脑等设备时&#xff0c;常常需要对图片进行放大操作。从功能上来说&#xff0c;图片放大可以让我们更好地观看和理解图片内容&#xff0c;同时也可以提高图像分辨率和清晰度&#xff0c;以满足不同的需求和场景首先&#xff0c;…

SQL-将数组打散regexp_replace/split/explode

目的&#xff1a;将数组&#xff08;拒绝码refuse_codes&#xff09;打散 原数据&#xff1a; 打散后数据col&#xff1a; – regexp_replace()替换函数 – split()函数是用于切分数据&#xff0c;也就是将一串字符串切割成了一个数组 – explode()函数是用于打散行的函数&am…

Ubuntu安装英伟达显卡驱动、Cuda和Cudnn

显卡驱动安装 1、下载对应型号显卡驱动 首先查看自己机器显卡型号 lspci | grep -i nvidia得到如下输出&#xff0c;其中GeForce GTX 1080就是型号 01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1) 01:00.1 Audio device: NVIDI…