[init] initial commit
This commit is contained in:
commit
860d5d351d
13
README.md
Normal file
13
README.md
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
## A website for my girlfriend to memorize our first anniversary of love.
|
||||||
|
|
||||||
|
demo:[https://ain-crad.github.io/First-Anniversary-of-Love](https://ain-crad.github.io/First-Anniversary-of-Love)
|
||||||
|
|
||||||
|
文件目录:
|
||||||
|
* css:css源码
|
||||||
|
* js/date.js:显示恋爱时长
|
||||||
|
* js/playImg.js:循环播放照片
|
||||||
|
* js/stars.js:背景部分
|
||||||
|
* js/typeWriter.js:模拟打字效果
|
||||||
|
* music:背景音乐
|
||||||
|
* pic:图片
|
||||||
|
* index.html:html源码
|
140
css/format.css
Normal file
140
css/format.css
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
#typeDiv {
|
||||||
|
position: absolute;
|
||||||
|
top: 45%;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
margin: auto;
|
||||||
|
width: 100%;
|
||||||
|
height: 20%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#txt1 {
|
||||||
|
font-size: 24px;
|
||||||
|
text-align: center;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
#txt2 {
|
||||||
|
font-size: 24px;
|
||||||
|
text-align: center;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content{
|
||||||
|
position: absolute;
|
||||||
|
top: 1%;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
margin: auto;
|
||||||
|
width: 100%;
|
||||||
|
height: 20%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#together{
|
||||||
|
font-size: 32px;
|
||||||
|
text-align: center;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#timer{
|
||||||
|
text-align: center;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#d{
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#h{
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#m{
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#s{
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#heartTxt{
|
||||||
|
position: absolute;
|
||||||
|
display: table;
|
||||||
|
vertical-align: middle;
|
||||||
|
top: 80%;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
margin: auto;
|
||||||
|
width: 10%;
|
||||||
|
height: 8%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clickMe{
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 16px;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#heart{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#button{
|
||||||
|
background-image: url("../pic/love.png");
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: contain;
|
||||||
|
background-color: transparent;
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
background-position: center;
|
||||||
|
transition: 0.1s;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#button:active {
|
||||||
|
width: 92%;
|
||||||
|
height: 92%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#imgTxt{
|
||||||
|
position: absolute;
|
||||||
|
display: table;
|
||||||
|
vertical-align: middle;
|
||||||
|
top: 20%;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
margin: auto;
|
||||||
|
width: 100%;
|
||||||
|
height: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#img{
|
||||||
|
display: block;
|
||||||
|
top: 30%;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
margin: auto;
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#Txt{
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 17px;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tmp{
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 17px;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
color: white;
|
||||||
|
}
|
BIN
favicon.ico
Normal file
BIN
favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
79
index.html
Normal file
79
index.html
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html lang="en" style="overflow:hidden;">
|
||||||
|
<head>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Love Stories</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="css/format.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="margin:0px">
|
||||||
|
<!--
|
||||||
|
<audio autoplay loop>
|
||||||
|
<source src="music/music.mp3" type="audio/mpeg">
|
||||||
|
Your browser does not support the audio.
|
||||||
|
</audio>
|
||||||
|
controls="controls"
|
||||||
|
type="audio/mpeg"
|
||||||
|
<a href='music.html'>Music</a>
|
||||||
|
-->
|
||||||
|
<audio autoplay="autoplay" loop="" preload="auto">
|
||||||
|
<source src="music/music.mp3">
|
||||||
|
Your browser does not support the audio.
|
||||||
|
</audio>
|
||||||
|
|
||||||
|
<canvas></canvas>
|
||||||
|
<div id="content">
|
||||||
|
<h2 id="together">We have been together</h2>
|
||||||
|
<div id="timer">
|
||||||
|
<b id="d"></b> Days
|
||||||
|
<b id="h"></b> Hours
|
||||||
|
<b id="m"></b> Minutes
|
||||||
|
<b id="s"></b> Seconds
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id = "typeDiv">
|
||||||
|
<span id="txt1"></span> <br />
|
||||||
|
<span id="txt2"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="imgTxt">
|
||||||
|
<span id="Txt"></span> <br />
|
||||||
|
<span id="tmp"></span>
|
||||||
|
<img id="img" src="">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="heartTxt">
|
||||||
|
<span id="clickMe"></span>
|
||||||
|
<div id="heart">
|
||||||
|
<button id="button" onclick="play()"></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script >
|
||||||
|
var ok = 0;
|
||||||
|
var flag = 1;
|
||||||
|
var myImage = document.getElementById("img");
|
||||||
|
var myTxt = document.getElementById("Txt");
|
||||||
|
var imageArray = [
|
||||||
|
"pic/pic1.jpg",
|
||||||
|
"pic/pic2.jpg",
|
||||||
|
"pic/pic3.jpg"
|
||||||
|
];
|
||||||
|
var imageIndex = 0;
|
||||||
|
var txtArray = [
|
||||||
|
"2023年1月24日 - 你好哇,小可爱~",
|
||||||
|
"2023年1月28日 - 情侣头像上线啦,真好看!",
|
||||||
|
"2023年2月2日 - 你下班的时候被车撞到了,手机也摔的不开机了,我好担心,第一次感到非常的无力。"
|
||||||
|
];
|
||||||
|
var len = imageArray.length;
|
||||||
|
var t = 0;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="js/stars.js"></script>
|
||||||
|
<script type="text/javascript" src="js/typeWriter.js"></script>
|
||||||
|
<script type="text/javascript" src="js/date.js"></script>
|
||||||
|
<script type="text/javascript" src="js/playImg.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
51
js/date.js
Normal file
51
js/date.js
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
|
||||||
|
var dv = document.getElementById("content");
|
||||||
|
dv.style.opacity = 0;
|
||||||
|
var val = 0;
|
||||||
|
|
||||||
|
function timer(){
|
||||||
|
var start = new Date(2023, 0, 24, 19, 20, 00);
|
||||||
|
var t = new Date() - start;
|
||||||
|
var d = Math.floor(t / 1000 / 60 / 60 / 24);
|
||||||
|
var h = Math.floor(t / 1000 / 60 / 60 % 24);
|
||||||
|
if(h < 10){
|
||||||
|
h = "0" + h;
|
||||||
|
}
|
||||||
|
var m = Math.floor(t / 1000 / 60 % 60);
|
||||||
|
if(m < 10){
|
||||||
|
m = "0" + m;
|
||||||
|
}
|
||||||
|
var s = Math.floor(t / 1000 % 60);
|
||||||
|
if(s < 10){
|
||||||
|
s = "0" + s;
|
||||||
|
}
|
||||||
|
document.getElementById("d").innerHTML = d;
|
||||||
|
document.getElementById("h").innerHTML = h;
|
||||||
|
document.getElementById("m").innerHTML = m;
|
||||||
|
document.getElementById("s").innerHTML = s;
|
||||||
|
}
|
||||||
|
|
||||||
|
function fadein(){
|
||||||
|
if(val < 1){
|
||||||
|
val += 0.025;
|
||||||
|
dv.style.opacity = val;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
clearInterval(fadeinInterval);
|
||||||
|
if(ok == 2){
|
||||||
|
ok += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var fadeInterval;
|
||||||
|
var fadeinInterval;
|
||||||
|
|
||||||
|
timer();
|
||||||
|
setInterval(timer, 1000);
|
||||||
|
fadeInterval = setInterval(function(){
|
||||||
|
if(ok == 2){
|
||||||
|
clearInterval(fadeInterval);
|
||||||
|
fadeinInterval = setInterval(fadein, 50);
|
||||||
|
}
|
||||||
|
}, 50)
|
77
js/playImg.js
Normal file
77
js/playImg.js
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
|
||||||
|
var btn = document.getElementById("heartTxt");
|
||||||
|
btn.style.opacity = 0;
|
||||||
|
var btnVal = 0;
|
||||||
|
|
||||||
|
function showImage(){
|
||||||
|
//document.getElementById("imgTxt").style.opacity = 0;
|
||||||
|
myImage.setAttribute("src", imageArray[imageIndex]);
|
||||||
|
myTxt.innerHTML = txtArray[imageIndex];
|
||||||
|
//document.getElementById("imgTxt").style.opacity = 1 - flag;
|
||||||
|
imageIndex++;
|
||||||
|
if(imageIndex >= len){
|
||||||
|
imageIndex = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function play(){
|
||||||
|
if(t == 0){
|
||||||
|
myImage.setAttribute("src", "");
|
||||||
|
myTxt.innerHTML = "";
|
||||||
|
imageIndex = 0;
|
||||||
|
clearInterval(showImageInterval);
|
||||||
|
}
|
||||||
|
flag = 1 - flag;
|
||||||
|
document.getElementById("typeDiv").style.opacity = flag;
|
||||||
|
document.getElementById("imgTxt").style.opacity = 1 - flag;
|
||||||
|
if(t == 0){
|
||||||
|
//setTimeout(showImage, 1000);
|
||||||
|
setInterval(showImage, 7000);
|
||||||
|
}
|
||||||
|
t++;
|
||||||
|
}
|
||||||
|
|
||||||
|
function preshowImage(){
|
||||||
|
document.getElementById("imgTxt").style.opacity = 0;
|
||||||
|
myImage.setAttribute("src", imageArray[imageIndex]);
|
||||||
|
myTxt.innerHTML = txtArray[imageIndex];
|
||||||
|
imageIndex++;
|
||||||
|
if(imageIndex >= len){
|
||||||
|
imageIndex = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function buttonFadeIn(){
|
||||||
|
if(btnVal < 1){
|
||||||
|
btnVal += 0.025;
|
||||||
|
btn.style.opacity = btnVal;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
clearInterval(buttonInterval);
|
||||||
|
if(ok == 3){
|
||||||
|
ok += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function event(){
|
||||||
|
|
||||||
|
showImageInterval = setInterval(preshowImage, 300);
|
||||||
|
|
||||||
|
imgInterval = setInterval(function (){
|
||||||
|
if(ok == 3){
|
||||||
|
setTimeout(function(){buttonInterval = setInterval(buttonFadeIn, 90);}, 1500);
|
||||||
|
clearInterval(imgInterval);
|
||||||
|
}
|
||||||
|
}, 50);
|
||||||
|
}
|
||||||
|
|
||||||
|
var showImageInterval;
|
||||||
|
var imgInterval;
|
||||||
|
var buttonInterval;
|
||||||
|
|
||||||
|
event();
|
||||||
|
|
||||||
|
|
||||||
|
|
209
js/stars.js
Normal file
209
js/stars.js
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
//import utils from "./utils"
|
||||||
|
|
||||||
|
const canvas = document.querySelector('canvas')
|
||||||
|
const c = canvas.getContext('2d')
|
||||||
|
|
||||||
|
canvas.width = innerWidth
|
||||||
|
canvas.height = innerHeight
|
||||||
|
|
||||||
|
window.addEventListener("resize", function() {
|
||||||
|
canvas.width = window.innerWidth;
|
||||||
|
canvas.height = window.innerHeight;
|
||||||
|
init()
|
||||||
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
const mouse = {
|
||||||
|
x: innerWidth / 2,
|
||||||
|
y: innerHeight / 2
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Event Listeners
|
||||||
|
addEventListener('mousemove', event => {
|
||||||
|
mouse.x = event.clientX
|
||||||
|
mouse.y = event.clientY
|
||||||
|
})
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Objects
|
||||||
|
function Star(x, y, radius, color) {
|
||||||
|
this.x = x
|
||||||
|
this.y = y
|
||||||
|
this.radius = radius
|
||||||
|
this.color = color
|
||||||
|
this.velocity = {
|
||||||
|
x: (Math.random() - 0.5) * 8,
|
||||||
|
y: 3
|
||||||
|
}
|
||||||
|
this.friction = 0.8
|
||||||
|
this.gravity = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
Star.prototype.draw = function() {
|
||||||
|
c.save()
|
||||||
|
c.beginPath()
|
||||||
|
c.arc(this.x, this.y, this.radius, 0, Math.PI * 2, false)
|
||||||
|
c.fillStyle = this.color
|
||||||
|
c.shadowColor = '#E3EAEF'
|
||||||
|
c.shadowBlur = 20
|
||||||
|
c.fill()
|
||||||
|
c.closePath()
|
||||||
|
c.restore()
|
||||||
|
}
|
||||||
|
|
||||||
|
Star.prototype.update = function() {
|
||||||
|
this.draw()
|
||||||
|
|
||||||
|
//When ball hits bottom of screen
|
||||||
|
if(this.y + this.radius + this.velocity.y > canvas.height - groundHeight){
|
||||||
|
this.velocity.y = -this.velocity.y * this.friction
|
||||||
|
this.shatter()
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
this.velocity.y += this.gravity
|
||||||
|
}
|
||||||
|
|
||||||
|
//Hits side of screen
|
||||||
|
if(this.x + this.radius + this.velocity.x > canvas.width || this.x - this.radius <= 0){
|
||||||
|
this.velocity.x = -this.velocity.x * this.friction
|
||||||
|
this.shatter()
|
||||||
|
}
|
||||||
|
|
||||||
|
this.x += this.velocity.x
|
||||||
|
this.y += this.velocity.y
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Star.prototype.shatter = function(){
|
||||||
|
this.radius -= 3
|
||||||
|
for(let i = 0; i < 8; i++){
|
||||||
|
miniStars.push(new MiniStar(this.x, this.y, 2))
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function MiniStar(x, y, radius, color){
|
||||||
|
Star.call(this, x, y, radius, color)
|
||||||
|
this.velocity = {
|
||||||
|
x: (Math.random() - 0.5) * 10,
|
||||||
|
y: (Math.random() - 0.5) * 30
|
||||||
|
}
|
||||||
|
this.friction = 0.8
|
||||||
|
this.gravity = 0.1
|
||||||
|
this.ttl = 100
|
||||||
|
this.opacity = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
MiniStar.prototype.draw = function() {
|
||||||
|
c.save()
|
||||||
|
c.beginPath()
|
||||||
|
c.arc(this.x, this.y, this.radius, 0, Math.PI * 2, false)
|
||||||
|
c.fillStyle = `rgba(227,234, 239, ${this.opacity})`
|
||||||
|
c.shadowColor = '#E3EAEF'
|
||||||
|
c.shadowBlur = 20
|
||||||
|
c.fill()
|
||||||
|
c.closePath()
|
||||||
|
c.restore()
|
||||||
|
}
|
||||||
|
|
||||||
|
MiniStar.prototype.update = function() {
|
||||||
|
this.draw()
|
||||||
|
|
||||||
|
if(this.y + this.radius + this.velocity.y > canvas.height - groundHeight){
|
||||||
|
this.velocity.y = -this.velocity.y * this.friction
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
this.velocity.y += this.gravity
|
||||||
|
}
|
||||||
|
|
||||||
|
this.x += this.velocity.x
|
||||||
|
this.y += this.velocity.y
|
||||||
|
this.ttl -= 1
|
||||||
|
this.opacity -= 0.0001 * this.ttl
|
||||||
|
}
|
||||||
|
|
||||||
|
function creatMountainRange(mountainAmount, height, color){
|
||||||
|
for(let i = 0; i < mountainAmount; i++){
|
||||||
|
const mountainWidth = canvas.width / mountainAmount
|
||||||
|
c.beginPath()
|
||||||
|
c.moveTo(i * mountainWidth, canvas.height)
|
||||||
|
c.lineTo(i * mountainWidth + mountainWidth + 0.2*canvas.height, canvas.height)
|
||||||
|
c.lineTo(i * mountainWidth + mountainWidth / 2, canvas.height - height)
|
||||||
|
c.lineTo(i * mountainWidth - 0.2*canvas.height, canvas.height)
|
||||||
|
c.fillStyle = color
|
||||||
|
c.fill()
|
||||||
|
c.closePath()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Implementation
|
||||||
|
const backgroundGradient = c.createLinearGradient(0, 0, canvas.width, canvas.height)
|
||||||
|
backgroundGradient.addColorStop(0, '#171e26')
|
||||||
|
backgroundGradient.addColorStop(1, '#3f586b')
|
||||||
|
|
||||||
|
let stars
|
||||||
|
let miniStars
|
||||||
|
let backgroundStars
|
||||||
|
let ticker = 0
|
||||||
|
let randomSpawnRate = 75
|
||||||
|
const groundHeight = 0.06 * canvas.height
|
||||||
|
let inf = 1e9
|
||||||
|
function init() {
|
||||||
|
stars = []
|
||||||
|
miniStars = []
|
||||||
|
backgroundStars = []
|
||||||
|
|
||||||
|
for(let i = 0; i < 200; i++){
|
||||||
|
const x = Math.random() * canvas.width
|
||||||
|
const y = Math.random() * canvas.height
|
||||||
|
const radius = Math.random() * 3
|
||||||
|
backgroundStars.push(new Star(x, y, radius, 'white'))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Animation Loop
|
||||||
|
function animate() {
|
||||||
|
c.clearRect(0, 0, 0, canvas.height)
|
||||||
|
c.fillStyle = backgroundGradient
|
||||||
|
c.fillRect(0, 0, canvas.width, canvas.height)
|
||||||
|
|
||||||
|
backgroundStars.forEach(backgroundStar => {
|
||||||
|
backgroundStar.draw()
|
||||||
|
})
|
||||||
|
|
||||||
|
if(flag) creatMountainRange(1, canvas.height * 0.7, '#384551')
|
||||||
|
if(flag) creatMountainRange(2, canvas.height * 0.6, '#2B3843')
|
||||||
|
if(flag) creatMountainRange(3, canvas.height * 0.4, '#26333E')
|
||||||
|
c.fillStyle = '#182028'
|
||||||
|
c.fillRect(0, canvas.height - groundHeight, canvas.width, groundHeight)
|
||||||
|
stars.forEach((star, index) => {
|
||||||
|
star.update();
|
||||||
|
if(star.radius == 0){
|
||||||
|
stars.splice(index, 1)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
miniStars.forEach((miniStar, index) => {
|
||||||
|
miniStar.update();
|
||||||
|
if(miniStar.ttl == 0){
|
||||||
|
miniStars.splice(index, 1)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
ticker++
|
||||||
|
if(ticker >= inf){
|
||||||
|
ticker = 0
|
||||||
|
}
|
||||||
|
if(ticker % randomSpawnRate == 0){
|
||||||
|
const radius = 9
|
||||||
|
const x = Math.max(radius, Math.random() * canvas.width - radius)
|
||||||
|
stars.push(new Star(x, -100, 9, '#E3EAEF'))
|
||||||
|
randomSpawnRate = Math.floor(Math.random() * (200 - 125 + 1) + 125)
|
||||||
|
}
|
||||||
|
|
||||||
|
requestAnimationFrame(animate)
|
||||||
|
}
|
||||||
|
|
||||||
|
init()
|
||||||
|
animate()
|
36
js/typeWriter.js
Normal file
36
js/typeWriter.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
|
||||||
|
let i = 0;
|
||||||
|
let text1 = "你好啊,小扈同学,很高兴认识你!";
|
||||||
|
let text2 = "愿我们每一天都是值得纪念的,也是值得怀念的。"
|
||||||
|
let speed = 100;
|
||||||
|
|
||||||
|
function typeWriter(text, para){
|
||||||
|
if(ok == 2){
|
||||||
|
clearInterval(typeInterval);
|
||||||
|
}
|
||||||
|
if(i < text.length){
|
||||||
|
document.getElementById(para).innerHTML += text.charAt(i);
|
||||||
|
i++;
|
||||||
|
speed = Math.random() * 50 + 100;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if(ok == 0){
|
||||||
|
i = 0;
|
||||||
|
}
|
||||||
|
ok += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var typeInterval;
|
||||||
|
|
||||||
|
//window.onload = function() {
|
||||||
|
// window.onload = function(){};
|
||||||
|
typeInterval = setInterval(function(){
|
||||||
|
if(ok == 0){
|
||||||
|
typeWriter(text1, "txt1");
|
||||||
|
}
|
||||||
|
else if(ok == 1){
|
||||||
|
typeWriter(text2, "txt2");
|
||||||
|
}
|
||||||
|
}, 300);
|
||||||
|
//};
|
BIN
music/music.mp3
Normal file
BIN
music/music.mp3
Normal file
Binary file not shown.
BIN
pic/love.png
Normal file
BIN
pic/love.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.2 KiB |
BIN
pic/pic1.jpg
Normal file
BIN
pic/pic1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 112 KiB |
BIN
pic/pic2.jpg
Normal file
BIN
pic/pic2.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 152 KiB |
BIN
pic/pic3.jpg
Normal file
BIN
pic/pic3.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 77 KiB |
Reference in New Issue
Block a user