编码题目一:能够根据要求使用javascript实现页面效果

文章描述了如何使用JavaScript实现HTML表格中数据行的隔行换色功能。通过获取所有`tr`元素并遍历,对奇数行和偶数行分别设置不同的背景颜色,达到视觉上的区分效果。示例代码展示了具体的实现方法。
摘要由CSDN通过智能技术生成

需求描述:

素材中提供了如下图所示的页面效果
请添加图片描述
请在页面的 script 标签中实现数据行的隔行换色功能,成品效果如下图所示请添加图片描述
要求:

  1. 奇数行背景颜色设置为 : #e9edf2
  2. 偶数行背景颜色设置为:#fbfbfb

提示:

  1. 设置背景色的css属性是 backgroundColor
  2. 获取所有的 tr 标签元素,遍历并判断是否是偶数行,如果是设置 backgroundColor=#fbfbfb ,如果不是设置 backgroundColor=#e9edf2

实现思路:

  1. 根据 tr 标签名获取所有的元素对象,返回数组
  2. 从索引1开始遍历数组,获取数组中的每一个元素,判断索引是否是偶数
    1. 是:将该元素的 backgroundColor 样式设置为 #fbfbfb
    2. 不是:将该元素的 backgroundColor 样式设置为 #e9edf2
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>隔行换色</title>
    <style>
        table {
            width: 50%;
        }
        th,td {
        border-bottom: 1px #C0C0C0 solid;
        height: 40px;
        font-family: 楷体;
    }

    a {
        color: #00008B;
        text-decoration: none;
    }

    th {
        background-color: #DEE3E6;
    }

</style>
</head>
<body>
<table align="center">
    <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>地址</th>
        <th>操作</th>
    </tr>
    <tr align="center">
        <td>1</td>
        <td>张三</td>
        <td>西安</td>
        <td><a href="javascript:void(0);">删除</a></td>
    </tr>

    <tr align="center">
        <td>2</td>
        <td>李四</td>
        <td>武汉</td>
        <td><a href="javascript:void(0);">删除</a></td>
    </tr>
    <tr align="center">
        <td>3</td>
        <td>王五</td>
        <td>北京</td>
        <td><a href="javascript:void(0);">删除</a></td>
    </tr>
    <tr align="center">
        <td>4</td>
        <td>赵六</td>
        <td>上海</td>
        <td><a href="javascript:void(0);">删除</a></td>
    </tr>
    <tr align="center">
        <td>5</td>
        <td>田七</td>
        <td>深圳</td>
        <td><a href="javascript:void(0);">删除</a></td>
    </tr>
    <tr align="center">
        <td>6</td>
        <td>老王</td>
        <td>成都</td>
        <td><a href="javascript:void(0);">删除</a></td>
    </tr>
</table>

<script>
    /*
        数据行进行各行换色
            奇数行颜色为 : #fbfbfb
            偶数行的颜色为: #e9edf2
     */

    var trs= document.getElementsByTagName("tr")
    for (let i = 1; i < trs.length; i++) {
        if(i%2==0){
            trs[i].style.backgroundColor="#e9edf2"
        }else{
            trs[i].style.backgroundColor="#fbfbfb"
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,根据您提供的要求,我可以给您提供一份JavaScript程序设计实训任务的参考实现。由于篇幅较长,我会分为多个部分进介绍,希望能够有所帮助。 1. HTML页面设计 首先,我们需要设计四个页面:登录页面、注册页面、考试页面和题库管理页面。这些页面可以使用HTMLCSS设计,以下是一个简单的示例: 登录页面: ```html <!DOCTYPE html> <html> <head> <title>登录页面</title> <meta charset="utf-8"> <link rel="stylesheet" href="styles.css"> </head> <body> <h1>欢迎登录</h1> <form> <label for="username">用户名:</label> <input type="text" id="username" name="username"> <br> <label for="password">密码:</label> <input type="password" id="password" name="password"> <br> <input type="submit" value="登录"> </form> </body> </html> ``` 注册页面: ```html <!DOCTYPE html> <html> <head> <title>注册页面</title> <meta charset="utf-8"> <link rel="stylesheet" href="styles.css"> </head> <body> <h1>欢迎注册</h1> <form> <label for="student-id">学号:</label> <input type="text" id="student-id" name="student-id"> <br> <label for="name">姓名:</label> <input type="text" id="name" name="name"> <br> <label for="password">密码:</label> <input type="password" id="password" name="password"> <br> <input type="submit" value="注册"> </form> </body> </html> ``` 考试页面: ```html <!DOCTYPE html> <html> <head> <title>在线考试</title> <meta charset="utf-8"> <link rel="stylesheet" href="styles.css"> </head> <body> <h1>在线考试</h1> <div id="question-container"></div> <button id="prev-btn">上一题</button> <button id="next-btn">下一题</button> <button id="submit-btn">交卷</button> <div id="score-container"></div> </body> </html> ``` 题库管理页面: ```html <!DOCTYPE html> <html> <head> <title>题库管理</title> <meta charset="utf-8"> <link rel="stylesheet" href="styles.css"> </head> <body> <h1>题库管理</h1> <form> <label for="question">题目:</label> <textarea id="question" name="question"></textarea> <br> <label for="choices">选项:</label> <textarea id="choices" name="choices"></textarea> <br> <label for="answer">答案:</label> <input type="text" id="answer" name="answer"> <br> <input type="submit" value="添加题目"> </form> </body> </html> ``` 这些页面中,登录页面和注册页面需要进简单的表单验证,可以使用JavaScript实现。其余页面可以使用JavaScript来动态生成题目、显示分数等。 2. JavaScript编码实现功能 接下来,我们需要使用JavaScript实现在线考试系统的功能。以下是一个简单的示例: ```javascript // 定义题库 var questions = [ { question: "What is the capital of France?", choices: ["London", "Paris", "New York", "Tokyo"], correctAnswer: 1 }, { question: "What is the largest planet in our solar system?", choices: ["Saturn", "Jupiter", "Mercury", "Neptune"], correctAnswer: 1 }, { question: "What is the tallest mountain in the world?", choices: ["Mount Kilimanjaro", "Mount Everest", "Mount Fuji", "Mount Whitney"], correctAnswer: 1 } ]; // 定义当前题目编号和分数 var currentQuestion = 0; var score = 0; // 显示题目 function displayQuestion(question) { var questionContainer = document.getElementById("question-container"); questionContainer.innerHTML = "<p>" + question.question + "</p>"; var choicesList = document.createElement("ul"); for (var i = 0; i < question.choices.length; i++) { var choiceItem = document.createElement("li"); var choiceText = document.createTextNode(question.choices[i]); choiceItem.appendChild(choiceText); choiceItem.onclick = function() { var selectedAnswer = i; if (selectedAnswer === question.correctAnswer) { score++; } displayScore(); }; choicesList.appendChild(choiceItem); } questionContainer.appendChild(choicesList); } // 显示分数 function displayScore() { var scoreContainer = document.getElementById("score-container"); scoreContainer.innerHTML = "分数:" + score; } // 显示上一题 function displayPrevQuestion() { if (currentQuestion > 0) { currentQuestion--; displayQuestion(questions[currentQuestion]); displayScore(); } } // 显示下一题 function displayNextQuestion() { if (currentQuestion < questions.length - 1) { currentQuestion++; displayQuestion(questions[currentQuestion]); displayScore(); } } // 显示结果 function displayResult() { var questionContainer = document.getElementById("question-container"); questionContainer.innerHTML = ""; var resultContainer = document.createElement("div"); resultContainer.innerHTML = "<p>你的得分是:" + score + "</p>"; questionContainer.appendChild(resultContainer); } // 绑定按钮事件 var prevBtn = document.getElementById("prev-btn"); prevBtn.onclick = displayPrevQuestion; var nextBtn = document.getElementById("next-btn"); nextBtn.onclick = displayNextQuestion; var submitBtn = document.getElementById("submit-btn"); submitBtn.onclick = displayResult; // 显示第一题 displayQuestion(questions[currentQuestion]); displayScore(); ``` 以上代码实现了在线考试系统的必备功能:单选答题、上一题和下一题按钮、交卷按钮、显示分数和结果等。您可以根据需要对代码进修改和扩展,添加更多的功能和页面美化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值