文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

条件与循环的组合运用,打造动态响应式界面!

2024-04-02 19:55

关注

条件分支:根据条件选择代码块

条件分支允许根据某个条件选择要执行的代码块。常见的条件结构包括 if-else 和 switch-case 语句:

循环:重复代码块

循环结构允许重复执行一个代码块,直到满足某个条件。常见的循环结构包括 while、do-while 和 for 循环:

组合条件分支和循环

通过组合条件分支和循环,可以创建高度动态的界面,根据用户输入或其他事件实时调整。以下是一些示例:

示例:动态响应式表格

为了演示,让我们构建一个动态响应式表格,该表格根据屏幕大小调整列宽和顺序:

function createTable() {
  const table = document.createElement("table");
  const headings = ["Name", "Age", "Occupation"];

  // 根据屏幕宽度调整列宽
  const width = window.innerWidth;
  if (width < 768) {
    table.style.width = "100%";
  } else {
    table.style.width = "500px";
  }

  // 根据屏幕宽度调整列顺序
  if (width < 768) {
    headings.unshift("Occupation");
  }

  // 创建 table 头部
  const headerRow = table.createTHead().insertRow();
  headings.forEach(heading => {
    const th = document.createElement("th");
    th.textContent = heading;
    headerRow.appendChild(th);
  });

  // 根据屏幕宽度填充数据
  const data = [["John", 25, "Software Engineer"], ["Jane", 30, "Doctor"], ["Bob", 40, "Teacher"]];
  if (width < 768) {
    data.forEach(row => {
      const tr = table.insertRow();
      const [occupation, name, age] = row;
      tr.appendChild(createCell(occupation));
      tr.appendChild(createCell(name));
      tr.appendChild(createCell(age));
    });
  } else {
    data.forEach(row => {
      const tr = table.insertRow();
      const [name, age, occupation] = row;
      tr.appendChild(createCell(name));
      tr.appendChild(createCell(age));
      tr.appendChild(createCell(occupation));
    });
  }

  return table;

  function createCell(value) {
    const td = document.createElement("td");
    td.textContent = value;
    return td;
  }
}

const tableContainer = document.getElementById("table-container");
tableContainer.appendChild(createTable());

// 在窗口大小更改时动态调整表格
window.addEventListener("resize", () => {
  tableContainer.removeChild(tableContainer.firstChild);
  tableContainer.appendChild(createTable());
});

结论

通过组合条件分支和循环,可以创建高度动态且响应式的用户界面。这些结构使程序员能够根据用户输入、设备特性或其他实时事件动态调整内容和行为,从而提供最佳的用户体验。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯