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知识库]搭建个人博客系统之首页

前言

找实习的时候,每天都对自己说一句:我很棒!

这是对自己做的一个个人博客Web项目的整理。不知道内容要写些什么……就直接放源码吧……希望面试的时候问起项目来我都能记得……

<!DOCTYPE html>
<html>
	<!--网页中的 head 标签:它的内容不会在网页中显示,作用是存储网页的一些元数据-->
	<head>
		<meta charset="utf-8" />
		<!--使用bootstrap的必需操作,加入viewport的meta。
		width=device-width:表示宽度是设备宽度;	
		width:可以指定一个具体的值,如1200,控制layout viewport的大小;
		initial-scale=1:表示初始的缩放比例
		maximum-scale=1:表示最大放大比例
		user-scalable=no:表示用户不能调整缩放比例-->
		<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/>
		<!--"X-UA-Compatible":定义了浏览器的渲染方式,具体可以搜一搜博客
		"IE=edge":使用IE来访问,会渲染成IE浏览器的最高版本-->
		<meta http-equiv="X-UA-Compatible" content ="IE=edge">
		<!--网页名称-->
		<title>博客</title>
		<!--rel:relation的意思,在这里是关联到一个样式表单,表示这个文档初始化的时候将被使用
		href:这里放该样式表单的链接。我这里使用的是资源地址,没有互联网就不能使用的。你也可以把bootstrap包下载到本地,然后这里就是本地的bootstrap.min.css相对路径-->
		<link rel="stylesheet" href=“https://cdn.bootcss.com/bootstrap/3.3.2/css/bootstrap.min.css”>
		<!--使用jQuery。首页中会有博客的粗略信息可供点击浏览。这里使用jQuery的append方法进行动态加载-->
		<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
		
		<script src="https://cdn.bootcss.com/bootstrap/3.3.2/js/bootstrap.min.js">
		</script>
		<style type="text/css">
		/*margin:0;padding:0;:全局样式,重置浏览器默认样式*/
		
			*{
				margin:0;padding:0;
			}
			 /*begin::页面头部样式*/
			 .webHeader{
				width:100%;		//宽度和浏览器宽度一样
				background:#fff;//背景色白色
				margin-bottom:20px;//底部外边距20px
			 }
			 .header{
				background:#fff;
				line-height:70px;
			}
			.header .nav-item{
				padding:8px;
				font-size:18px;
			}
			.header .search {
				margin-top: 20px;
			}
			 .hot-article {
                box-sizing: border-box;
                background: #fff;
                padding: 0 20px;
                line-height: 60px;
                border-bottom: 1px solid #eee;
            }
            
            .hot-article .hot-item {
                padding: 0 10px;
            }
			
		</style>
	</head>
	<!--body标签:网页显示的内容都在body标签中-->
	<body>
	<!--首页头部-->
		<div class="webHeader">
			<!--container:使用bootstrap中的container布局容器
			还有一种是.container-fluid :类用于 100% 宽度,占据全部视口(viewport)的容器。二者不可兼容
			-->
			<div class="container">
				<!--row:bootstrap提供的row,定义一行的样式
				header:自定义的css样式-->
				<div class="row header">	<!--logo部分::栅格系统-大屏幕占1格,中等占2格,小屏幕占3格,超小占3格,下面相似-->
				<div class="col-lg-1 col-md-2 col-sm-3 col-xs-3">
					<a href="#">
					<!--src:图片路径,可以写http路径,也可以使用本地相对路径
					alt:img无法显示时的替代文本
					style:行内样式-->
						<img src="https://data.educoder.net/attachments/download/204880" alt="logo" style="width:80px" />
					</a>
				</div>
				<!--首页资源部分::手机屏幕隐藏,中等屏幕占4格-->
				<div class="hidden-sm hiiden-xs col-md-4">
					<a href="#" class="nav-item">首页</a>
					<a href="#" class="nav-item">代码</a>
					<a href="#" class="nav-item">问答</a>
					<a href="#" class="nav-item">资源</a>
				</div>
				<!--首页下拉列表::手机屏幕可见-->
				<div class="visible-sm-block visible-xs-block col-sm-3 col-xs-4">
				<!--class="dropdown":bootstrap的下拉菜单插件	data-toggle="dropdown":bootstrap中设置js动作为下拉	aria-haspopup="true":表示点击的时候会出现菜单或是浮动元素	aria-expanded="true":表示当前展开状态为展开-->
				<div class="dropdown">
					<a data-target="#" class="nav-item" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">首页</a>
				<!--class="caret":实现一个下拉箭头-->
					<span class="caret"></span>
					<!--aria-labelledby="dropdownMenu1":当首页这个下拉菜单获取到焦点时(就是你鼠标点击了它),label里面显示的内容将是“首页”-->
					<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
					<!--下面是下拉菜单的每一项-->
					<li>
									<a href="#" class="nav-item">代码库</a>
								</li>
								<li>
									<a href="#" class="nav-item">问答</a>
								</li>
								<li>
									<a href="#" class="nav-item">资源</a>
								</li>

							</ul>
				</div>
				</div>
				<!--搜索框部分
				hidden-sm 、hidden-xs:手机屏幕隐藏
				col-md-3:中等屏幕占三格-->
				<div class=" hidden-sm hidden-xs col-md-3">
				<!--search:自定义样式-->
					<form class="search">
					<!--class="form-group has-feedback":bootstrap提供的表单组件。-->
						<div class="form-group has-feedback">
							<input type="text" class="form-control" id="search" aria-describedby="searchStatus" placeholder="搜索"/>
							<!--搜索时右侧的放大镜图片-->
							<span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
					</form>
				</div>
				</div>
				<!--登陆注册部分-->
					<div class="col-lg-2 col-md-2 col-sm-4 col-xs-5 col-lg-offset-1 col-md-offset-1 col-sm-offset-2">
						<a href="login.html" class="nav-item">登录</a>
						<a href="#" class="nav-item">注册</a>
					</div>
				</div>
			</div>
		</div>
		</div>
		
		<!--博客列表-->
		<div class="bloglist">
			<div class="container">
				<div class="col-lg-9 col-md-9" id="box">
				<!--hot-article、hot-item:自定义样式-->
					<div class="row hot-article">
					<div class="col-lg-3 col-md-3 col-sm-7 col-xs-5">
						<span>热门文章</span>
					</div>
					<div class="col-lg-4 col-lg-offset-5 col-md-5 col-sm-5 col-xs-6 col-md-offset-4">
	                    <a href="#" class="hot-item">推荐</a>
	                    <a href="#" class="hot-item">前端</a>
	                    <a href="#" class="hot-item">后端</a>
	                     <a href="#" class="hot-item">Android</a>
	                        </div>
					</div>
				</div>
			</div>
		</div>
	</body>
	<!--接下来是script的部分
	这里是写死的数据,如果要从后端拿数据的话,要用jQuery的.ajax方法-->
	<script>
		var flag = true;	//flag:在滚动条滚动到底部时,为了防止loading效果出现多次,但是数据还没有加载完这种情况。
		var count = 0;	//
		
		//往页面中加载数据
		var loadData = function(x){
			var dom = '';	//定义dom节点来存储一篇博客的信息
			for(var i=0;i<x;i++){
				count++;	//加载一个dom,计数器就加一
				dom += '<div class="row article-item">'+
					'<div class="col-lg-10 col-md-10 col-sm-12 col-xs-12">'+
						'<h4>'+
							'<a href="#">Vue.js实现可配置的登录表单Vue.js实现可配置的登录表单</a>'+ 	'</h4>'+
								 '<p>'+ 
									'<button class="btn btn-success btn-xs">前端</button>'+	'<span>&nbsp;&nbsp;&nbsp;rccoder · 1天前 · 45646次阅读  </span>'+ 
									 '</p>'+
										'</div>'+
									'<div class="col-lg-2 col-md-2 hidden-sm hidden-xs">'+
										parseInt(count) + 
						'</div>'+
                    '</div>'
			}
			$("#box").append(dom);	//使用jQuery的append()方法,将dom加入“box”中
		}
		
	$(document).ready(function(){
		loadData(3);
	})//jquery提供的ready方法:dom加载完,页面也都呈现完了,就开始执行ready(显示博客列表)
	
	//上拉触发加载事件
	//jquery事件:当用户滚动指定的元素时,会发生scroll事件
	//$(window).height()表示当前可视区域的高度,随着浏览器的高度变化。
	//$(document).height()表示整个页面的高度。
	//$(window).scrollTop()表示当前滚动的地方的窗口顶端到整个页面顶端的距离。
	/*当 scroll >= scrollHeight 时,滚动条就到底部了。
	**但是一般会在到达底部之前提前加载,这里只需要 
	**scroll + 60 >= scrollHeight就可以了,表示到达底部还有60px时就会加载。
	*/
	 $(window).scroll(function(){
     	var scroll = $(window).scrollTop() + 60;
        var scrollHeight = $(document).height() - $(window).height();
        
        if( scroll >= scrollHeight &&flag){ 
              
        	loadMore();//加载更多
             
         }
     })
	 //class="loading":自定义的loading样式
	 function loadMore(){
         flag = false;
         var loading = '<div class="loading">加载中..</div>';
         $("#box").append(loading);
         setTimeout(function(){
            loadData(2);
            flag = true;
            $(".loading").remove();
         },1500)
    }
	</script>
</html>

最近在为实习的事情苦恼。倒不是因为没有面试机会,而是自己感到了迷茫。一方面因为各大公司的烧脑笔试题感到智力方面严重不足,一方面又觉得面试过程中展现的人际交往能力不太行(明明在生活中我好像也不是那么差劲啊!)最要紧的是,找实习的时间拖得越久就越焦虑。我想我应该要好好选定一个方向然后沉下心来往肚子里装点墨水了。

咱们明天见!

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 07:38:44  更:2021-07-28 07:39:09 
 
开发: 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年5日历 -2024/5/5 19:18:40-

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