我们先尝试一下利用假数据来实现新浪微博的布局

css布局:

<style>

.mainbox {

width: 970px;

/* height: 700px; */

background-color:blueviolet;

text-align: center;

}

span {

font-size: 30px;

color: black;

}

.newsbox {

width: 700px;

/* height: 500px; */

background-color:aliceblue;

border: 1px solid black;

margin: 0 auto;

border-radius: 10px;

padding: 10px 0;

}

.title{

width: 100%;

/* height: 30px; */

/* background-color: aquamarine; */

line-height: 30px;

text-align: center;

margin: 10px 0;

}

.imgbox {

width: 400px;

/* height: 300px; */

display: flex;

justify-content: flex-start;

/* background-color: black; */

margin: 0 auto;

}

img{

width: 150px;

height: 15 0px;

}

.bar{

width: 400px;

height: 50px;

/* background-color: blue; */

text-align: center;

line-height: 50px;

display: flex;

justify-content: space-between;

margin: 0 auto;

}

.bar div{

width: 150px;

height: 40px;

margin-top: 5px;

text-align: center;

line-height: 40px;

border-radius: 10px;

border: 1px solid black;

}

</style>

</head>

<body>

<div class="mainbox">

<span><i>新浪微博</i> </span>

</div>

假数据:

<script>

var sinadata = {

a: 20,

b: "20条微博",

arr: [{

id: 123,

text: "微博第一条微博第一条微博第一条微博第一条微博第一条",

comment_count: 10,

img: ["https://tenfei03.cfp.cn/creative/vcg/800/new/VCG41N942639296.jpg"],

att_count: 12,

share_count: 30

},

{

id: 125,

text: "微博第二条我么你从i搜索我么你从i搜索我么你从i搜索我么你从i搜索我么你从i搜索",

comment_count: 15,

img: ["http://picture.ik123.com/uploads/allimg/180814/12-1PQ4140456.jpg"],

att_count: 14,

share_count: 20

},

{

id: 163,

text: "微博第三条降低哦就发问卷发放降低哦就发问卷发放降低哦就发问卷发放降低哦就发问卷发放",

comment_count: 0,

img: ["https://tenfei03.cfp.cn/creative/vcg/800/new/VCG41N942639296.jpg",

"https://tenfei05.cfp.cn/creative/vcg/veer/1600water/veer-349465619.jpg"

],

att_count: 65,

share_count: 7987

},

{

id: 143,

text: "微博第撕太皇太后让他是私人谈话人体和皇太后让他是私人谈话人体和皇太后让他是私人谈话人体和皇太后让他是私人谈话人体和",

comment_count: 100,

img: ["https://tenfei03.cfp.cn/creative/vcg/800/new/VCG41N942639296.jpg",

"https://tenfei05.cfp.cn/creative/vcg/veer/1600water/veer-349465619.jpg",

"https://tenfei03.cfp.cn/creative/vcg/800/new/VCG41N942639296.jpg"

],

att_count: 125,

share_count: 130

},

]

}

console.log(sinadata)

</script>

<!--

思路:

1. 创建一个新闻大盒子,把它添加到mainbox中

a. 添加类名

2. 创建一个放标题的盒子,添加到新闻大盒子中

a. 添加文本innerHTML,是mysina中的数据

b. 添加类名,让他们排版在新闻大盒子的上面

3. 创建一个放图片的盒子box2,添加到新闻大盒子中

a. 添加类名,让他们排版在新闻大盒子的中间,写弹性布局让他们内部的图片排列好

4. 根据图片数据的个数创建对应个数的图片标签

a. 把图片全部添加到box2中

b. 给图片加类名

c. 给图片加src

5.底部条

思路和新闻大盒子差不多

6.最后利用for循环遍历我们的数据添加多个mainbox.

-->

js代码:

<script>

for(let i=0;i<sinadata.arr.length;i++){

//    1. 创建一个新闻大盒子,把它添加到mainbox中

var mainbox = document.querySelector(".mainbox")

var newsbox = document.createElement("div")

mainbox.appendChild(newsbox)

// a. 添加类名

newsbox.className ="newsbox"

// 2. 创建一个放标题的盒子,添加到新闻大盒子中

// var newsbox = document.querySelector(".newsbox")

var title = document.createElement("div")

newsbox.appendChild(title)

// a. 添加文本innerHTML,是sinadata中的数据

title.innerHTML = sinadata.arr[i].text

// b. 添加类名,让他们排版在新闻大盒子的上面

title.className = "title"

// 3. 创建一个放图片的盒子box2,添加到新闻大盒子中

var imgbox = document.createElement("div")

newsbox.appendChild(imgbox)

// a. 添加类名,让他们排版在新闻大盒子的中间,写弹性布局让他们内部的图片排列好

imgbox.className = "imgbox"

// 4. 根据图片数据的个数创建对应个数的图片标签

// a. 把图片全部添加到box2中

// b. 给图片加类名

// c. 给图片加src

sinadata.arr[i].img.forEach(function (el) {

var img = document.createElement("img")

imgbox.appendChild(img)

img.src =`${el}`

})

// 5.底部条

var bar=document.createElement("div")

bar.className="bar"

newsbox.appendChild(bar)

//a.添加内容

var comment_count=document.createElement("div")

var att_count=document.createElement("div")

var  share_count=document.createElement("div")

share_count.className="share_count"

att_count.className="att_count"

comment_count.className=" comment_count"

bar.appendChild(comment_count)

bar.appendChild(att_count)

bar.appendChild(share_count)

comment_count.innerHTML=`评论次数:${sinadata.arr[i].comment_count}`

att_count.innerHTML=`点赞次数:${sinadata.arr[i].att_count}`

share_count.innerHTML=`分享次数:${sinadata.arr[i].share_count}`

}

</script>

过程中遇见的问题:

  1. 在给图片添加scr值时,我是利用反引号来添加土拍你的来链接的。利用forEach取出数组中的img属性的值,在后面就可以利用forEach中的形参el来给img.src赋值,代码是====>  img.src =`"${el}"`;运行后发现图片无法显示。

在后台打印img.src后发现,原来我去出来的el久带了双引号的,所以不用额外添加引号。

  1. 写好一个newsbox时,需要在最外面添加一个For循环来添加多个。添加for循环后,我发现所有的数据都添加给了第一个newsbox其他的newsbox都添加了但是数据并没有装进去。

后面检查代码,发现原来时自己在获取newbox的类时,使用的是

var newsbox = document.querySelector(".newsbox")

document.querySelector()只会获取符合选项的第一个。

新浪微博(假数据)案例相关推荐

  1. 第二篇:智能电网(Smart Grid)中的数据工程与大数据案例分析

    前言 上篇文章中讲到,在智能电网的控制与管理侧中,数据的分析和挖掘.可视化等工作属于核心环节.除此之外,二次侧中需要对数据进行采集,数据共享平台的搭建显然也涉及到数据的管理.那么在智能电网领域中,数据 ...

  2. 大批量生成假数据,faker.js获得近28k个Star

    整理 | 夕颜 图源 | 视觉中国 来源 | CSDN(ID:CSDNnews) 近日,GitHub上一个生成假数据的项目faker.js火了,攀升Trendinging榜单第二,标星目前已超过27. ...

  3. 解析postgresql 删除重复数据案例

    这篇文章主要介绍了postgresql 删除重复数据案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下 1.建表 /*Navicat Premium ...

  4. 聊聊底线 | 坏数据与假数据

    坚持思考,就会很酷 存储介质的进化 很久以前,祖先把甲骨文写在骨头之上,骨头保存持久,但是制作困难,后来把文字写在竹简.纸上. 文字是信息,纸张.竹简.石头是介质,虽然它们比骨头不易保存,但是制作简单 ...

  5. java 获取nodejs端Gson数据案例(请求MongoDB)

    java  获取nodejs端Gson数据案例 原理:这是一个demo,主要通过java向nodejs端发送请求,nodejs端向mongodb请求数据,并将请求的数据以Gson的格式返回给java端 ...

  6. 通过日志恢复MS SQL数据案例

     [导读]本文介绍通过日志恢复MS SQL数据案例,以数据库的故障恢复改为非简单模式,去掉自动关闭和自动收缩两个选项为前提. 前提条件是数据库的故障恢复改为非简单模式,去掉自动关闭和自动收缩两个选项. ...

  7. 连线IBM大数据案例 让大数据接地气

    文章讲的是连线IBM大数据案例 让大数据接地气,6月16日,对于世贸天阶来说可以说是大数据的一天,IBM连线大数据与分析活动在此举行.在这聚集时尚前沿的阵地上,IBM再次与我们公话"大数据& ...

  8. 荣登2019中国“十佳大数据案例”,腾讯大数据再获国家认可

    5月26日,由工业和信息化部.国家发展和改革委员会.国家互联网信息办公室和贵州省人民政府主办,国家工业信息安全发展研究中心承办的<大数据优秀产品和应用解决方案案例系列丛书>发布会暨数博会& ...

  9. create-react-app项目使用假数据

    做新项目的时候,前端每次要等后端接口准备好再开始,就会延期,等后端接口准备好了,前端这边的项目又会相互紧张,如果前端跟后端同时进行,前期将框架,基础做好,定好接口文档,前端在后端没准备好接口的时候使用 ...

最新文章

  1. Java 面试题问与答:编译时与运行时
  2. iphone xh5打开ppt预览_教你如何用iPhone拍全景照片
  3. 合集 | 我在传统行业做数字化转型
  4. Leetcode--191. 位1的个数
  5. 绝大部分人根本没有职业素养
  6. 传统语音识别(GMM+HMM)
  7. 七牛云存储基于时间戳防盗链算法参考实现
  8. c语言做线性代数第六版答案,线性代数求解(C语言):
  9. IBM X3850 X5 PCI故障实例
  10. 科技文献检索(八)——检索技术
  11. Python 万能代码模版:数据可视化篇
  12. nginx实现rtmp,flv,mp4流媒体服务器
  13. 地理加权回归R语言实例
  14. 012 外接功放喇叭模块
  15. 10bit、8bit色彩深度,究竟差多少?
  16. XP系统如何禁止别人在电脑上安装程序
  17. 【十一】消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局
  18. 统计学之数据的描述性统计(基础)
  19. C# 委托,匿名方法,lambda表达式使用方法
  20. 易买网更多新闻代码_新闻 | 0516崔智友得女等更多资讯

热门文章

  1. Row Column
  2. 堪称神器的 Chrome 插件
  3. 【历史上的今天】3 月 18 日:香农发表划时代论文;微软发布 IE5;早期计算设备先驱出生
  4. 嵌入式软件工程师面试题大全
  5. Linux下载配置及Xshell和XFTP下载安装
  6. python 豆瓣评论删除_Python抓取豆瓣《白夜追凶》的评论并且分词
  7. React 实现添加和删除评论功能(附完整代码)
  8. 企业如何通过抖音矩阵号实现抖音搜索丨短视频SEO系统开发部署
  9. JavaWeb基础4——HTML,JavaScriptCSS
  10. 辑擎内NET案Infralution Globalizer Developer v3.9