IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 模仿“选择游戏角色的页面” -> 正文阅读

[JavaScript知识库]模仿“选择游戏角色的页面”

业务需求描述:
1.页面显示的文字和图片全部居中显示;
2.玩家可以选择两个角色中的一个,当选择一个角色的时候在页面中显示角色的图片,且当鼠标滑过角色图片的时候显示图片相关信息;
3.在角色图片下面显示角色说明;
业务代码:
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选择自己的游戏角色</title>
    <script>
        let choosePersona = function(){
            let inputObj1 = document.getElementById("input1");
            let inputObj2 = document.getElementById("input2");
            let imageObj = document.getElementsByTagName("img")[0];
            //在img节点后面创建span节点,并将其添加到body后面
            let spanObj = document.createElement("span");
            //设置span样式
            spanObj.style.fontSize = "100%";
            spanObj.style.borderStyle = "solid";
            spanObj.style.borderWidth = "2px";
            spanObj.style.width = "20px";
            spanObj.style.height = "15px";
            document.body.appendChild(spanObj);
            if (inputObj1.checked){
                imageObj.setAttribute("src","persona/两翼天使.png");
                imageObj.setAttribute("title","鼠标滑过显示‘这是两翼天使角色’")
                imageObj.setAttribute("alt","应当显示两翼天使图片");
                //防止重复创建span元素
                if(document.getElementById("span1")){
                    document.body.removeChild(document.getElementById("span1"));
                }
                spanObj.setAttribute("id","span1");
                //为span节点创建文本节点
                let text1 = document.createTextNode("玩家选择了两翼天使!");
                //将文本节点添加到span节点
                spanObj.appendChild(text1);
                //设置span节点中文本样式
                spanObj.style.borderColor = "#102B6A";
                spanObj.style.backgroundColor = "#FFE600";
            }else if(inputObj2.checked){
                if(document.getElementById("span1")){
                    document.body.removeChild(document.getElementById("span1"));
                }
                spanObj.setAttribute("id","span1");
                imageObj.setAttribute("src","persona/魔法师.png");
                imageObj.setAttribute("title","鼠标滑过显示‘这是魔法师角色’");
                imageObj.setAttribute("alt","应当显示魔法师图片");
                //为span节点创建文本节点
                let text1 = document.createTextNode("玩家选择了魔法师!");
                //将文本节点添加到span节点
                spanObj.appendChild(text1);
                //设置span节点中文本样式
                spanObj.style.borderColor = "#102B6A";
                spanObj.style.backgroundColor = "#DEA32C";
            }
        }
        function addLoadEvent(func){
            let oldonload=window.onload;
            if(typeof oldonload !="function"){
                window.onload=func;
            }else {
                window.onload=function(){
                    oldonload();
                    func();}
            }
        }
        addLoadEvent(choosePersona);
    </script>
</head>
<body style="text-align:center;margin: 0 auto;">
    <!--<label>标签在单选按钮和复选按钮上经常被使用,使用该标签后,你点击单选按钮或复选按钮的文本也是可以选中的-->
    <div id="div1">
        <b>请选择游戏角色:</b>
        <label><input id="input1" type="radio" name="choose" value="angel" onclick="choosePersona()"/>点击选择两翼天使</label>
        <label><input id="input2" type="radio" name="choose" value="magician" onclick="choosePersona()"/>点击选择魔法师</label>
    </div>
    <img src="" title="" alt=""><br/>
</body>
</html>

代码运行效果:
在这里插入图片描述
注意知识点:
1.文本节点

let text1 = document.createTextNode("玩家选择了魔法师!");

此代码为创建文本节点代码。
JS三大节点:元素节点、属性节点、文本节点。

2.元素居中

<body style="text-align:center;margin: 0 auto;">
</body>

在html5中<center></center>标签已经弃用,被上面的代码替代。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-15 18:10:55  更:2021-12-15 18:14:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:51:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码