Web静态页面开发实战学习总结
一、构思与前期准备
灵感来源于csdn博客上看到的其他人开发的模仿官方网站的开发文档,同时鉴于自己喜欢二次元的风格。决定自主设计出一个模仿哔哩哔哩·的低配版哔哩哔哩网页。这里给出链接:https://char-actructer.github.io/fang-Bilibili/
素材准备:哔哩哔哩官网上或网页界面下载主站png,jpg,gif图片,参考哔哩哔哩某up教程获取主站svg界面图标,选取图标并进行重命名保存。
资源准备:哔哩哔哩网页源代码,csdn博客《哔哩哔哩网页仿写总结》
bootstrap框架下载并学习使用
基于H5 video开发的视频播放插件:supervideo.js
二、主要页面设计流程
1、登陆界面
添加自定义css文件,除背景图片及基本颜色大小等设置外,新增不透明度,阴影和渐变色设置;
模仿登陆界面添加相应图片效果及文字后,添加js代码,实现输入相应的pwd和username之后点击登陆跳转到主站:
$(function() {
$(".qrcode-box").mouseover(function() {
$(".qrcode-tips").addClass("mouse")
})
$(".qrcode-box").mouseout(function() {
$(".qrcode-tips").removeClass("mouse")
})
$('#app').popover({
trigger: 'hover',
html: true,
content: "<img src='img/sao.png'><br><span>   扫码下载手机客户端</span>"
});
$("#btn1").click(function() {
if ($("#use").val() == "123", $("#pwd").val() == "321") {
window.location.href = "index.html"
alert("欢迎回来")
} else {
alert("密码错误")
}
})
$("#btn2").click(function() {
window.location.href = "pwd.html"
});
})
2、注册界面
同样的,实现相应界面搭建后(主站导航,图标,输入框,select标签等)
利用js代码实现了一个简单的鼠标移动弹出图片的功能:鼠标移动到“下载app”时弹出二维码图片。
$(function() {
$('#app').popover({
trigger: 'hover',
html: true,
content: "<img src='img/sao.png'><br><span>   扫码下载手机客户端</span>"
})
})
3、视频播放界面
同上,定义相应css文件并搭建基本布局后。可利用前面引入的supervideo.js文件实现视频播放以及弹幕功能:
定义如下js文件:
const nextControl = new Super.NextControl()
const Dbspeen = new Super.DbspeenControl()
const BarrageControl = new Super.BarrageControl()
const fullScreenControl = new Super.FullScreenControl()
const video = new Super.Svideo('videoContainer', {
source: new Super.VideoSource({
src: './video/one.mp4'
}),
leftControls: [nextControl],
rightControls: [Dbspeen, fullScreenControl],
centerControls: [BarrageControl]//弹幕
})
nextControl.addEventListener('click', () => {
alert('click next menu !!!')
})
fullScreenControl.addEventListener('fullscreen', () => {
console.log('is fullscreen !!!')
$("#navigation").hide()
$("#text").hide()
$("#text2").hide()
})
fullScreenControl.addEventListener('cancelfullscreen', () => {
console.log('cancel fullscreen !!!')
$("#navigation").show()
$("#text").show()
$("#text2").show()
})
video.addEventListener('fullscreen', () => {
console.log('is fullscreen !!!')
})
video.addBarrage(new Super.Barrage('冲冲冲!!!', {
color: 'red',
fontSize:'30px',
}))
video.addBarrage('太强了趴~~~~~~')
video.addBarrage('针不戳!!!!!!')
4、主站界面
(主站每个视频的跳转链接都是上面的video)
光标移动弹出界面效果,图片拉伸效果,视频点击效果:定义如下js代码
// popover提示框
$(function() {
$('#app').popover({
trigger: 'hover',
html: true,
content: "<img src='img/sao.png'><br><span>   扫码下载手机客户端</span>"
});
})
// 图片拉伸效果
$(function() {
$("#one_1").find(".info").hide()
$("#one_2").find(".info").hide()
$("#one_3").find(".info").hide()
$("#one_4").find(".info").hide()
$("#one_5").find(".info").hide()
$("#one_6").find(".info").hide()
$("#one_1").mouseover(function() {
$("#one_2").find(".info").slideUp()
$("#one_3").find(".info").slideUp()
$("#one_4").find(".info").slideUp()
$("#one_5").find(".info").slideUp()
$("#one_6").find(".info").slideUp()
$(this).find(".info").slideDown()
})
$("#one_2").mouseover(function() {
$("#one_1").find(".info").slideUp()
$("#one_3").find(".info").slideUp()
$("#one_4").find(".info").slideUp()
$("#one_5").find(".info").slideUp()
$("#one_6").find(".info").slideUp()
$(this).find(".info").slideDown()
})
$("#one_3").mouseover(function() {
$("#one_1").find(".info").slideUp()
$("#one_2").find(".info").slideUp()
$("#one_4").find(".info").slideUp()
$("#one_5").find(".info").slideUp()
$("#one_6").find(".info").slideUp()
$(this).find(".info").slideDown()
})
$("#one_4").mouseover(function() {
$("#one_1").find(".info").slideUp()
$("#one_2").find(".info").slideUp()
$("#one_3").find(".info").slideUp()
$("#one_5").find(".info").slideUp()
$("#one_6").find(".info").slideUp()
$(this).find(".info").slideDown()
})
$("#one_5").mouseover(function() {
$("#one_1").find(".info").slideUp()
$("#one_2").find(".info").slideUp()
$("#one_3").find(".info").slideUp()
$("#one_4").find(".info").slideUp()
$("#one_6").find(".info").slideUp()
$(this).find(".info").slideDown()
})
$("#one_6").mouseover(function() {
$("#one_1").find(".info").slideUp()
$("#one_2").find(".info").slideUp()
$("#one_3").find(".info").slideUp()
$("#one_4").find(".info").slideUp()
$("#one_5").find(".info").slideUp()
$(this).find(".info").slideDown()
})
$("#slidershow2").mouseover(function() {
$("#one_1").find(".info").slideUp()
$("#one_2").find(".info").slideUp()
$("#one_3").find(".info").slideUp()
$("#one_4").find(".info").slideUp()
$("#one_5").find(".info").slideUp()
$("#one_6").find(".info").slideUp()
})
})
$(function() {
$("#img4").find("div").find("img").click(function() {
window.location.href = "video.html"
})
$("#img4").find("div").find("img").mouseover(function() {
$(this).css("opacity","0.5")
})
$("#img4").find("div").find("img").mouseout(function() {
$(this).css("opacity","1")
})
})
// 视频播放跳转
$(function() {
$("#one_1").find(".info").click(function() {
window.location.href = "video.html"
})
$("#one_2").find(".info").click(function() {
window.location.href = "video.html"
})
$("#one_3").find(".info").click(function() {
window.location.href = "video.html"
})
$("#one_4").find(".info").click(function() {
window.location.href = "video.html"
})
$("#one_5").find(".info").click(function() {
window.location.href = "video.html"
})
$("#one_6").find(".info").click(function() {
window.location.href = "video.html"
})
$("#head").click(function() {
window.location.href = "user.html"
})
$("#zx").click(function() {
window.location.href = "user.html"
})
})
三、完成心得总结
首先一句话总结:所谓的前端有手就行完全是放屁。
且不说界面的设计需要考察个人审美,即便看似简单的效果,要想实现也是讲究颇多,除了自学一下js语言之外
还需要合理可利用bootstrap,supervideo等开源框架和插件。如此,才仅仅能搭建一个静态的页面,而要实现动态页面,背后的要求势必更高。