如何用js实现简单的页面html动态加载(“看更多“/页面折叠功能)

关键:

  1. 使用document.createElement函数创建html元素
  2. 滤清各元素父子关系并使用appendChild()函数将其联系

下面给出两个示例代码:

示例代码一
注意:该代码使用了BootStrap5

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />
  <title>动态生成控件 CSDN@狱典司</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://cdn.staticfile.org/twitter-bootstrap/5.1.1/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.staticfile.org/twitter-bootstrap/5.1.1/js/bootstrap.bundle.min.js"></script>


  <script>
    var i2 = 3;
    function flash2() {
      if (i2 <= 6) {
        var times;
        times = i2;
        var nums = times + 3;
        while (times < nums) {
          var up = document.getElementById("up");

          var div0 = document.createElement("div");
          div0.className = "container p-4 my-5 border"

          var div1 = document.createElement("div");
          div1.className = "row ";

          var div2 = document.createElement("div");
          div2.className = "col-sm-3 p-3 bg-white ";

          var img = document.createElement("img");
          img.src = "p1.png";
          img.alt = "Big Boat";
          img.class = "d-block";
          img.style = "width:100%";

          div1.appendChild(div2);
          div2.appendChild(img);

          var div3 = document.createElement("div");
          div3.className = "col-sm-9 p-3 bg-white ";

          var h = document.createElement("h5");
          h.innerHTML = "文章标题";

          var p = document.createElement("p");
          p.innerHTML = "文章描述";

          div3.appendChild(h);
          div3.appendChild(p);

          div1.appendChild(div3);
          div0.appendChild(div1);
          up.appendChild(div0);

          times++;
        }
        i2 = times;
      } else {
        alert("人家也是有底线的啦!");
      }
    }
  </script>
  </script>
</head>

<body>
<div id = "up">
  <div class="container p-4 my-5 border">
    <div class="row">
      <div class="col-sm-3 p-3 bg-white ">
        <img img src="p1.png" alt="Big Boat" class="d-block" style="width:100%">
      </div>
      <div class="col-sm-9 p-3 bg-white ">
        <h5>文章标题</h5>
        <p>内容描述</p>
      </div>
    </div>
  </div>
</div>

<div align="center">
  <button type="button"  class="btn btn-primary my-2"  onclick="flash2()">看更多</button>
</div>
</body>
</html>

示例代码二
该代码使用html和js即可实现

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />
 <title>动态生成控件 CSDN@狱典司</title>
  <script>
    var info = new Array();
    info[0] = "";
    info[1] = "01. 《计算机网络·自顶向下方法》学习笔记1";
    info[2] = "02. 用图片带你串起进程和文件的知识";
    info[3] = "03. 详解Linux下静态库/动态库的生成和使用";
    info[4] = "04. Linux下详解gcc编译过程(含代码示例)&& gcc使用教程";
    info[5] = "05. 如何用C/C++写一个Linux文件系统模拟器";
    info[6] = "06. 保姆级swap分区详解!手把手带你创建swap分区";
    info[7] = "07. 如何用C/C++写一个自己的语言";
    info[8] = "08. 一文带你捋清 Linux根目录下常见文件目录";
    info[9] = "09. C++如何递归地算出一个文件夹的大小";
    info[10] = "10. 利用PDO.so连接并读取Mysql数据库 ";
    info[11] = "11. 超全!Mysql数据库 常用基本操作总结 ";
    info[12] = "12. 利用PDO.so连接并读取Mysql数据库 ";
    info[13] = "13. 操作系统实验 分区管理 ";
    info[14] = "14. 抓包分析Telnet远程登陆协议信令交互过程 ";
    info[15] = "15. 操作系统实验 生产者/消费者模型 ";
    var i=1;

    function flash() {
      if (i <= 15) {
        var times;
        times = i;
        var nums = times + 5;
        while (times < nums) {
          var top = document.getElementById("top");
          var div = document.createElement("div");
          var a = document.createElement("a");
          div.innerHTML="推荐(" + times + ") ";
          div.id = times;
          a.className="nav-link";
          a.href="#";
          a.id = "link"+times;
          a.innerHTML = info[times];
          div.appendChild(a);
          top.appendChild(div);
          times++;
        }
        i = times;
        document.getElementById("now").innerHTML = i;
      } else {
        alert("人家也是有底线的啦!");
      }
    }
  </script>
</head>

<body>
<div id="top"></div>
<div><input type="button" onclick="flash()" value="添加" /></div>
</body>
</html>
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 如果要使用 H5 写一个响应式页面,可以使用 Bootstrap、 Foundation 等 CSS 框架来实现。这些框架都提供了一系列的 CSS 类,可以让页面在不同尺寸的设备上得到优秀的展示效果。 如果要使用 Node.js 操作数据库,可以使用一些数据库驱动,如 MySQL、 MongoDB、Redis等。这些驱动都提供了一些 API,可以在 Node.js 中方便地操作数据库。 ### 回答2: 响应式页面是一种能够自动适应不同设备和屏幕尺寸的网页设计技术。使用H5HTML5)语言可以轻松实现响应式页面。以下是一个简单的示例: 首先,我们需要在HTML文件的`<head>`标签中引入一个 H5 的 `<meta>` 标签,指定viewport 的宽度和初始缩放比例,从而使页面能根据设备自动适应。 接下来,在页面的结构中,我们使用CSS媒体查询(media query)来定义不同尺寸的布局和样式。例如,我们可以创建三个不同的CSS样式表:`mobile.css`、`tablet.css` 和 `desktop.css`,分别对应移动端、平板和桌面设备的布局样式。然后在 HTML 文件中,使用`<link>`标签将不同的样式表与媒体查询关联起来。 通过媒体查询,我们可以使用CSS的`@media`规则,在不同的屏幕尺寸下应用相应的样式和布局。例如,使用`@media screen and (max-width: 480px)`表示在视口宽度不超过480px时应用的样式。 在H5的语法和标签上,一般与之前的HTML4相比较少的,但可以使用一些新的元素和属性来增强用户体验,如`<canvas>`用于绘制图形、`<video>`用于播放视频等。另外,H5还增加了一些新的JavaScript API,如地理位置、离线存储等,通过这些API能够实现丰富的功能和交互效果。 至于Node.js操作数据库,可以使用Node.js提供的模块来轻松实现。首先,我们需要使用npm(Node包管理器)来安装适当的数据库驱动程序,如`mysql`、`mongodb`等。 安装完驱动程序后,我们可以使用`require`函数在Node.js应用程序中引入相应的驱动程序。然后,创建数据库连接,并执行相关的数据库操作,如查询、插入、新和删除等。具体的操作语法和方法根据所选的数据库驱动程序而异。 在操作数据库过程中,我们通常会使用回调函数或Promise来处理异步操作。通过回调函数,可以在数据库结果返回后执行特定的动作。而Promise则提供了一种简洁和可读性高的方式来处理异步操作。可以使用async/await语法糖来进一步简化异步操作的处理流程。 总而言之,通过合理利用H5和Node.js提供的各种功能和模块,我们可以轻松实现响应式页面设计和数据库操作。 ### 回答3: 用H5写一个响应式页面可以通过以下步骤完成: 1. 结构布局:使用HTML5语义化标签进行页面结构布局,如<header>、<nav>、<main>、<footer>等。通过媒体查询设置不同分辨率下的样式,并使用Flexbox或Grid来实现页面的自适应布局。 2. 图片和多媒体:使用<img>标签来插入图片,并使用CSS属性设置图片的宽度和高度,以适应不同设备的屏幕尺寸。为了提高页面加载速度,可以使用响应式图片技术,根据设备屏幕尺寸提供不同大小和分辨率的图片。 3. 文本内容:使用<p>、<h1>到<h6>等标签来进行文本内容的标记。使用CSS控制字体大小,行间距和对齐方式以适应不同屏幕。 4. 响应式导航:使用CSS实现响应式导航菜单,可以采用弹出式菜单、折叠式菜单或者水平菜单,根据屏幕尺寸进行切换。 5. 表单:使用<input>、<select>等标签创建表单,并使用CSS设置不同设备上的表单样式,确保用户输入的可见性和易用性。 Node.js操作数据库可以通过以下步骤完成: 1. 安装依赖:使用npm或yarn安装适当的Node.js模块,如mysql、mongodb或sequelize,这些模块帮助连接和操作不同类型的数据库。 2. 连接数据库:使用数据库模块提供的API,通过提供数据库主机、用户名、密码和数据库名等信息来建立与数据库的连接。 3. 执行数据库操作:使用数据库模块提供的API,执行查询、插入、新或删除等操作。例如,通过调用适当的函数来执行SQL语句,或者使用ORM框架(如sequelize)提供的方法来操作数据库。 4. 处理结果:根据数据库操作的返回结果,进行适当的错误处理和数据处理。例如,可以通过回调函数或Promise来处理异步操作的结果,使用条件语句来处理错误情况,并将查询结果展示给用户。 5. 断开连接:当数据库操作结束后,使用数据库模块提供的API断开与数据库的连接,释放资源并保持数据库的安全性。 以上是使用H5写一个响应式页面和Node.js操作数据库的基本步骤,具体实现取决于项目需求和所使用的具体技术。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狱典司

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值