網(wǎng)站登錄界面制作(three.js 3D特效背景)+ boostrap導(dǎo)航欄實(shí)現(xiàn)
前言
學(xué)過Web前端的許多小伙伴都會(huì)面對門戶網(wǎng)站制作的大作業(yè)報(bào)告,這里給大家分享一下我的前端大作業(yè)。后續(xù)還會(huì)繼續(xù)更新,喜歡的小伙伴可以點(diǎn)個(gè)贊。
登錄界面效果圖
注意上述為動(dòng)態(tài)界面:
<!DOCTYPE html>
<html>
<head>
<title>登錄界面</title>
<meta charset="utf-8">
<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 type="module" src="/js/login.js"></script>
<style>
body {
margin: 0;
overflow: hidden;
}
#particle-container {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
}
.container{
opacity: 0.8;
filter: brightness(50);
}
</style>
</head>
<body>
<div id="particle-container"></div>
<!-- <div id="background"></div> -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a class="navbar-brand" href="#">**大學(xué)網(wǎng)絡(luò)空間安全專業(yè)</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="/html/base.html">首頁</a>
</li>
<ul class="navbar-nav ml-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
信息發(fā)布
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="/html/news publish/news.html">新聞模塊</a>
<a class="dropdown-item" href="/html/news publish/jsshu.html">技術(shù)動(dòng)態(tài)</a>
<a class="dropdown-item" href="/html/news publish/gonggao.html">公告信息</a>
<a class="dropdown-item" href="/html/news publish/tuandui.html">團(tuán)隊(duì)介紹</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
資源共享
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="/html/ziyuan/ruanjian.html">軟件資源</a>
<a class="dropdown-item" href="/html/ziyuan/shutuan.html">社團(tuán)雜志</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/html/luntan/luntan.html">論壇交流</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
CTF訓(xùn)練
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="/html/CTF/shipin.html">訓(xùn)練視頻</a>
<a class="dropdown-item" href="/html/CTF/saishi.html">主要賽事回顧</a>
<a class="dropdown-item" href="/html/CTF/jiaohu.html">交互式訓(xùn)練</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
安全比賽
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="/html/bisai/geren.html">個(gè)人賽</a>
<a class="dropdown-item" href="/html/bisai/tuanduisai.html">團(tuán)隊(duì)賽</a>
</div>
</li>
</ul>
</div>
</nav>
<div class="container">
<h2 style="filter: brightness(30);">登錄界面</h2>
<p></p>
<form action="" class="was-validated" id="loginForm">
<div class="form-group">
<label for="uname">用戶名:</label>
<input type="text" class="form-control" id="uname" placeholder="請輸入用戶名" name="uname" required>
<div class="valid-feedback">驗(yàn)證成功!</div>
<div class="invalid-feedback">請輸入用戶名!</div>
</div>
<div class="form-group">
<label for="pwd">密碼:</label>
<input type="password" class="form-control" id="pwd" placeholder="請輸入密碼" name="pswd" required>
<div class="valid-feedback">驗(yàn)證成功!</div>
<div class="invalid-feedback">請輸入密碼!</div>
</div>
<div class="form-group form-check">
<label class="form-check-label">
<input class="form-check-input" type="checkbox" name="remember" required> 同意協(xié)議
<div class="valid-feedback">驗(yàn)證成功!</div>
<div class="invalid-feedback">同意協(xié)議才能提交。</div>
</label>
</div>
<button type="submit" class="btn btn-primary">提交</button>
</form>
</div>
<script type="module" src="/js/login.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/110/three.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/110/three.min.js"></script>
<script type="module" src="/js/baoza.js"></script>
</body>
</html>
下面的是表單的JS源代碼:
document.getElementById("loginForm").addEventListener("submit", function(event) {
event.preventDefault();
var username = document.getElementById("uname").value;
var password = document.getElementById("pwd").value;
// 在這里添加登錄驗(yàn)證的邏輯
if (username === "123456" && password === "123456") {
alert("登錄成功!");
window.location.href = "/html/base.html";
} else {
alert("用戶名或密碼錯(cuò)誤!");
}
});
下面是3D動(dòng)態(tài)例子的源代碼:
// 創(chuàng)建場景
var scene = new THREE.Scene();
// 創(chuàng)建相機(jī)
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.z = 5;
// 創(chuàng)建渲染器
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
var container = document.getElementById('particle-container');
renderer.setSize(container.offsetWidth, container.offsetHeight);
container.appendChild(renderer.domElement);
// 創(chuàng)建粒子系統(tǒng)
var particleCount = 1000;
var particles = new THREE.Geometry();
var particleMaterial = new THREE.PointsMaterial({ color: 0x00ff00, size: 0.1 });
for (var i = 0; i < particleCount; i++) {
var x = Math.random() * 10 - 5;
var y = Math.random() * 10 - 5;
var z = Math.random() * 10 - 5;
var particle = new THREE.Vector3(x, y, z);
particles.vertices.push(particle);
}
var particleSystem = new THREE.Points(particles, particleMaterial);
scene.add(particleSystem);
// 動(dòng)畫循環(huán)
function animate() {
requestAnimationFrame(animate);
particleSystem.rotation.y += 0.01;
particleSystem.rotation.x += 0.01;
particleSystem.rotation.z += 0.01;
renderer.render(scene, camera);
}
animate();
主頁面效果圖:
注意中間的窗口是移動(dòng)的;文章來源:http://www.zghlxwxcb.cn/news/detail-730054.html
主頁面源代碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>**大學(xué)網(wǎng)絡(luò)空間安全專業(yè)</title>
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.5.0/css/bootstrap.min.css">
<!-- <link rel="stylesheet" href="/css/base.css"> -->
<!-- <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> -->
<link rel="stylesheet" href="/css/base.css">
<script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a class="navbar-brand" href="#">**大學(xué)網(wǎng)絡(luò)空間安全專業(yè)</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="/html/base.html">首頁</a>
</li>
<ul class="navbar-nav ml-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
信息發(fā)布
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="/html/news publish/news.html">新聞模塊</a>
<a class="dropdown-item" href="/html/news publish/jsshu.html">技術(shù)動(dòng)態(tài)</a>
<a class="dropdown-item" href="/html/news publish/gonggao.html">公告信息</a>
<a class="dropdown-item" href="/html/news publish/tuandui.html">團(tuán)隊(duì)介紹</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
資源共享
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="/html/ziyuan/ruanjian.html">軟件資源</a>
<a class="dropdown-item" href="/html/ziyuan/shutuan.html">社團(tuán)雜志</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/html/luntan/luntan.html">論壇交流</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
CTF訓(xùn)練
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="/html/CTF/shipin.html">訓(xùn)練視頻</a>
<a class="dropdown-item" href="/html/CTF/saishi.html">主要賽事回顧</a>
<a class="dropdown-item" href="/html/CTF/jiaohu.html">交互式訓(xùn)練</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
安全比賽
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="/html/bisai/geren.html">個(gè)人賽</a>
<a class="dropdown-item" href="/html/bisai/tuanduisai.html">團(tuán)隊(duì)賽</a>
</div>
</li>
</ul>
</div>
</nav>
<div class="container mt-5">
<div class="row">
<div class="col-lg-8">
<h1>**大學(xué)網(wǎng)絡(luò)空間安全</h1>
<p>歡迎來到**大學(xué)網(wǎng)絡(luò)空間安全網(wǎng)站。我們致力于提供最新的信息發(fā)布、資源共享、論壇交流、CTF訓(xùn)練和安全比賽特色功能。</p>
</div>
<div class="col-lg-4">
<img src="/image/logo.png" alt="南昌大學(xué)軟件學(xué)院網(wǎng)絡(luò)空間安全" class="img-fluid" width="100px" height="100px">
</div>
</div>
</div>
<div class="container ml-auto">
<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="3"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="4"></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="/image/n1.png" class="d-block w-100 " alt="Image 1" style="width: 230px; height: 450px;">
<div class="carousel-caption">
<h3 class="text-white">信息發(fā)布</h3>
</div>
</div>
<div class="carousel-item">
<img src="/image/n2.png" class="d-block w-100 " alt="Image 2" style="width: 230px; height: 450px;">
<div class="carousel-caption">
<h3 class="text-white">資源共享</h3>
</div>
</div>
<div class="carousel-item">
<img src="/image/n3.png" class="d-block w-100 " alt="Image 3" style="width: 230px; height: 450px;">
<div class="carousel-caption">
<h3 class="text-white">論壇交流</h3>
</div>
</div>
<div class="carousel-item">
<img src="/image/4.png" class="d-block w-100 " alt="Image 4" style="width: 230px; height: 450px;">
<div class="carousel-caption">
<h3 class="text-white">CTF訓(xùn)練</h3>
</div>
</div>
<div class="carousel-item">
<img src="/image/n5.png" class="d-block w-100 " alt="Image 4" style="width: 230px; height: 450px;">
<div class="carousel-caption">
<h3 class="text-white">安全比賽</h3>
</div>
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
<div class="row">
<div class="col-lg-4">
<h2>信息發(fā)布</h2>
<p>在這里你可以獲取最新的網(wǎng)絡(luò)空間安全相關(guān)信息,包括安全漏洞、攻擊事件、安全技術(shù)等。</p>
</div>
<div class="col-lg-4">
<h2>資源共享</h2>
<p>我們提供網(wǎng)絡(luò)空間安全方面的學(xué)習(xí)資源,包括教學(xué)課件、學(xué)習(xí)筆記、實(shí)驗(yàn)代碼等。</p>
</div>
<div class="col-lg-4">
<h2>論壇交流</h2>
<p>加入我們的論壇,與其他網(wǎng)絡(luò)空間安全愛好者交流心得、解答問題、分享經(jīng)驗(yàn)。</p>
</div>
</div>
</div>
<div class="container mt-5">
<div class="row">
<div class="col-lg-6">
<h2>CTF訓(xùn)練</h2>
<p>參加我們的CTF訓(xùn)練,提升你的網(wǎng)絡(luò)空間安全技能,解決各種安全挑戰(zhàn)。</p>
</div>
<div class="col-lg-6">
<h2>安全比賽</h2>
<p>參加我們舉辦的安全比賽,與其他選手一較高下,贏取豐厚獎(jiǎng)品。</p>
</div>
</div>
</div>
<!-- <div id="window" style="position: absolute; top: 0; left: 0; width: 100px; height: 100px; background-color: rgba(45, 227, 154, 0.203);"></div> -->
<div id="adContainer" class="alert alert-info fixed-bottom m-2" role="alert">
歡迎來到**大學(xué)軟件網(wǎng)絡(luò)空間安全網(wǎng)站。我們致力于提供最新的信息發(fā)布、資源共享、論壇交流、CTF訓(xùn)練和安全比賽特色功能。
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<footer class="bg-dark text-white text-center py-4">
<div class="container">
<h5>聯(lián)系信息</h5>
<p>電話:1234567</p>
<p>郵箱:zzx.com</p>
</div>
</footer>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/110/three.min.js"></script>
<!-- <script type="module" src="/js/baoza.js"></script> -->
<script type="module" src="/js/base.js"></script>
<script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/4.5.0/js/bootstrap.min.js"></script>
</body>
</html>
.d-block w-100 {
width: 200px;
height: 200px;
}
下面是移動(dòng)窗口的JS源代碼文章來源地址http://www.zghlxwxcb.cn/news/detail-730054.html
$(document).ready(function() {
var adContainer = $('#adContainer');
var screenHeight = $(window).height();
var adHeight = adContainer.outerHeight();
var currentPosition = screenHeight;
function moveAd() {
currentPosition -= 1;
adContainer.css('bottom', currentPosition + 'px');
if (currentPosition + adHeight <= 0) {
currentPosition = screenHeight;
}
}
setInterval(moveAd, 10);
});
// 獲取窗口元素
var windowElement = document.getElementById("window");
// 定義初始位置和速度
var initialX = 500;
var initialY = 500;
var speedX = 220;
var speedY = 120;
// 更新窗口位置的函數(shù)
function updateWindowPosition() {
// 獲取當(dāng)前位置
var currentX = initialX;
var currentY = initialY;
// 計(jì)算新的位置
currentX += speedX;
currentY += speedY;
// 更新窗口位置
windowElement.style.left = currentX + "px";
windowElement.style.top = currentY + "px";
// 檢查邊界條件,如果窗口超出頁面邊界,則反轉(zhuǎn)速度方向
if (currentX + windowElement.offsetWidth >= document.documentElement.clientWidth || currentX <= 0) {
speedX = -speedX;
}
if (currentY + windowElement.offsetHeight >= document.documentElement.clientHeight || currentY <= 0) {
speedY = -speedY;
}
}
// 每隔一段時(shí)間更新窗口位置
setInterval(updateWindowPosition, 1000);
到了這里,關(guān)于網(wǎng)站登錄界面制作(three.js 3D特效背景)+ boostrap導(dǎo)航欄實(shí)現(xiàn) + jQuery移動(dòng)窗口【附加源代碼】的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!