Статическая анимированная страница "звездная пыль"
Бесплатные скрипты
Очень привлекательная, живая, визуальная страница с текстом и эффектом "звездная пыль".
Данное решение можно применить для статических и отдельных страниц сайта. Также будет смотреться в качестве стартовой (Главной) страницы или страницы ошибки 404.
Код
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<meta name="robots" content="noindex">
<style type="text/css">
@import url("https://fonts.googleapis.com/css?family=Montserrat:200,300,400,600");
body {
margin: 0;
padding: 0;
overflow: hidden;
width: 100%;
height: 100%;
background: #000000;
}
.title {
z-index: 10;
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%);
font-family: "Montserrat";
text-align: center;
width: 100%;
}
.title h1 {
position: relative;
color: #FFF;
font-weight: 100;
font-size: 90px;
padding: 0;
margin: 0;
line-height: 1;
text-shadow: 0 0 10px #ff006c, 0 0 20px #ff006c, 0 0 30px #ff006c, 0 0 40px #ff417d, 0 0 70px #ff417d, 0 0 80px #ff417d, 0 0 100px #ff417d, 0 0 150px #ff417d;
}
.title h1 span {
font-weight: 600;
padding: 0;
margin: 0;
color: #FFFFFF;
}
.title h3 {
font-weight: 200;
font-size: 20px;
padding: 0;
margin: 0;
line-height: 1;
color: #FFFFFF;
letter-spacing: 2px;
}
</style>
</head>
<body>
<div class="title">
<h3>Online shop - 2018</h3>
<h1>ART-UCOZ</h1>
<h3>ЗВЕЗДНАЯ <strong> ПЫЛЬ</strong></h3>
</div>
<script type="text/javascript">
"use strict";
"object" != typeof window.AU && (window.AU = {}), window.AU.PenTimer = {
programNoLongerBeingMonitored: !1,
timeOfFirstCallToShouldStopLoop: 0,
_loopExits: {},
_loopTimers: {},
START_MONITORING_AFTER: 2e3,
STOP_ALL_MONITORING_TIMEOUT: 5e3,
MAX_TIME_IN_LOOP_WO_EXIT: 2200,
exitedLoop: function(o) {
this._loopExits[o] = !0
},
shouldStopLoop: function(o) {
if (this.programKilledSoStopMonitoring) return !0;
if (this.programNoLongerBeingMonitored) return !1;
if (this._loopExits[o]) return !1;
var t = this._getTime();
if (0 === this.timeOfFirstCallToShouldStopLoop) return this.timeOfFirstCallToShouldStopLoop = t, !1;
var i = t - this.timeOfFirstCallToShouldStopLoop;
if (i < this.START_MONITORING_AFTER) return !1;
if (i > this.STOP_ALL_MONITORING_TIMEOUT) return this.programNoLongerBeingMonitored = !0, !1;
try {
this._checkOnInfiniteLoop(o, t)
} catch (o) {
return this._sendErrorMessageToEditor(), this.programKilledSoStopMonitoring = !0, !0
}
return !1
},
_shouldPostMessage: function() {
return document.location.href.match(/boomerang/)
},
_findAroundLineNumber: function() {
var o = new Error,
t = 0;
if (o.stack) {
var i = o.stack.match(/boomerang\S+:(\d+):\d+/);
i && (t = i[1])
}
return t
},
_getTime: function() {
return +new Date
}
}, window.AU.shouldStopExecution = function(o) {
var t = window.AU.PenTimer.shouldStopLoop(o);
return t === !0 && console.warn(), t
}, window.AU.exitedLoop = function(o) {
window.AU.PenTimer.exitedLoop(o)
};
</script>
<script src='http://art-ucoz.ru/.s/src/jquery-1.10.2.js'></script>
<script>
var _createClass = function() {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
if (window.AU.shouldStopExecution(1)) {
break;
}
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
window.AU.exitedLoop(1);
}
return function(Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);
if (staticProps) defineProperties(Constructor, staticProps);
return Constructor;
};
}();
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
var particles = [];
var microparticles = [];
var c1 = createCanvas({
width: $(window).width(),
height: $(window).height()
});
var tela = c1.canvas;
var canvas = c1.context;
// $("body").append(tela);
$("body").append(c1.canvas);
var Particle = function() {
function Particle(canvas) {
_classCallCheck(this, Particle);
this.random = Math.random();
this.random1 = Math.random();
this.random2 = Math.random();
this.progress = 0;
this.canvas = canvas;
this.life = 1000 + Math.random() * 3000;
this.x = $(window).width() / 2 + (Math.random() * 20 - Math.random() * 20);
this.y = $(window).height();
this.s = 2 + Math.random();
this.w = $(window).width();
this.h = $(window).height();
this.direction = this.random > .5 ? -1 : 1;
this.radius = 1 + 3 * this.random;
this.color = "#ff417d";
this.ID = setInterval(function() {
microparticles.push(new microParticle(c1.context, {
x: this.x,
y: this.y
}));
}.bind(this), this.random * 20);
setTimeout(function() {
clearInterval(this.ID);
}.bind(this), this.life);
}
_createClass(Particle, [{
key: "render",
value: function render() {
this.canvas.beginPath();
this.canvas.arc(this.x, this.y, this.radius, 0, 2 * Math.PI);
// this.canvas.lineWidth = 2;
this.canvas.shadowOffsetX = 0;
this.canvas.shadowOffsetY = 0;
// this.canvas.shadowBlur = 6;
this.canvas.shadowColor = "#000000";
this.canvas.fillStyle = this.color;
this.canvas.fill();
this.canvas.closePath();
}
}, {
key: "move",
value: function move() {
this.x -= this.direction * Math.sin(this.progress / (this.random1 * 430)) * this.s;
this.y -= Math.cos(this.progress / this.h) * this.s;
if (this.x < 0 || this.x > this.w - this.radius) {
clearInterval(this.ID);
return false;
}
if (this.y < 0) {
clearInterval(this.ID);
return false;
}
this.render();
this.progress++;
return true;
}
}]);
return Particle;
}();
var microParticle = function() {
function microParticle(canvas, options) {
_classCallCheck(this, microParticle);
this.random = Math.random();
this.random1 = Math.random();
this.random2 = Math.random();
this.progress = 0;
this.canvas = canvas;
this.x = options.x;
this.y = options.y;
this.s = 2 + Math.random() * 3;
this.w = $(window).width();
this.h = $(window).height();
this.radius = 1 + this.random * 0.5;
this.color = "#4EFCFE"; //this.random > .5 ? "#a9722c" : "#FFFED7"
}
_createClass(microParticle, [{
key: "render",
value: function render() {
this.canvas.beginPath();
this.canvas.arc(this.x, this.y, this.radius, 0, 2 * Math.PI);
this.canvas.lineWidth = 2;
this.canvas.fillStyle = this.color;
this.canvas.fill();
this.canvas.closePath();
}
}, {
key: "move",
value: function move() {
this.x -= Math.sin(this.progress / (100 / (this.random1 - this.random2 * 10))) * this.s;
this.y += Math.cos(this.progress / this.h) * this.s;
if (this.x < 0 || this.x > this.w - this.radius) {
return false;
}
if (this.y > this.h) {
return false;
}
this.render();
this.progress++;
return true;
}
}]);
return microParticle;
}();
var random_life = 1000;
setInterval(function() {
particles.push(new Particle(canvas));
random_life = 2000 * Math.random();
}.bind(this), random_life);
function clear() {
var grd = canvas.createRadialGradient(tela.width / 2, tela.height / 2, 0, tela.width / 2, tela.height / 2, tela.width);
grd.addColorStop(0, "rgba(82,42,114,1)");
grd.addColorStop(1, "rgba(26,14,4,0)");
// Fill with gradient
canvas.globalAlpha = 0.16;
canvas.fillStyle = grd;
canvas.fillRect(0, 0, tela.width, tela.height);
}
function blur(ctx, canvas, amt) {
// ctx.filter = `blur(${amt}px)`
// ctx.drawImage(canvas, 0, 0)
// ctx.filter = 'none'
}
function update() {
clear();
particles = particles.filter(function(p) {
return p.move();
});
microparticles = microparticles.filter(function(mp) {
return mp.move();
});
requestAnimationFrame(update.bind(this));
}
function createCanvas(properties) {
var canvas = document.createElement('canvas');
canvas.width = properties.width;
canvas.height = properties.height;
var context = canvas.getContext('2d');
return {
canvas: canvas,
context: context
};
}
update();
</script>
</body>
</html>
<html>
<head>
<meta charset='UTF-8'>
<meta name="robots" content="noindex">
<style type="text/css">
@import url("https://fonts.googleapis.com/css?family=Montserrat:200,300,400,600");
body {
margin: 0;
padding: 0;
overflow: hidden;
width: 100%;
height: 100%;
background: #000000;
}
.title {
z-index: 10;
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%);
font-family: "Montserrat";
text-align: center;
width: 100%;
}
.title h1 {
position: relative;
color: #FFF;
font-weight: 100;
font-size: 90px;
padding: 0;
margin: 0;
line-height: 1;
text-shadow: 0 0 10px #ff006c, 0 0 20px #ff006c, 0 0 30px #ff006c, 0 0 40px #ff417d, 0 0 70px #ff417d, 0 0 80px #ff417d, 0 0 100px #ff417d, 0 0 150px #ff417d;
}
.title h1 span {
font-weight: 600;
padding: 0;
margin: 0;
color: #FFFFFF;
}
.title h3 {
font-weight: 200;
font-size: 20px;
padding: 0;
margin: 0;
line-height: 1;
color: #FFFFFF;
letter-spacing: 2px;
}
</style>
</head>
<body>
<div class="title">
<h3>Online shop - 2018</h3>
<h1>ART-UCOZ</h1>
<h3>ЗВЕЗДНАЯ <strong> ПЫЛЬ</strong></h3>
</div>
<script type="text/javascript">
"use strict";
"object" != typeof window.AU && (window.AU = {}), window.AU.PenTimer = {
programNoLongerBeingMonitored: !1,
timeOfFirstCallToShouldStopLoop: 0,
_loopExits: {},
_loopTimers: {},
START_MONITORING_AFTER: 2e3,
STOP_ALL_MONITORING_TIMEOUT: 5e3,
MAX_TIME_IN_LOOP_WO_EXIT: 2200,
exitedLoop: function(o) {
this._loopExits[o] = !0
},
shouldStopLoop: function(o) {
if (this.programKilledSoStopMonitoring) return !0;
if (this.programNoLongerBeingMonitored) return !1;
if (this._loopExits[o]) return !1;
var t = this._getTime();
if (0 === this.timeOfFirstCallToShouldStopLoop) return this.timeOfFirstCallToShouldStopLoop = t, !1;
var i = t - this.timeOfFirstCallToShouldStopLoop;
if (i < this.START_MONITORING_AFTER) return !1;
if (i > this.STOP_ALL_MONITORING_TIMEOUT) return this.programNoLongerBeingMonitored = !0, !1;
try {
this._checkOnInfiniteLoop(o, t)
} catch (o) {
return this._sendErrorMessageToEditor(), this.programKilledSoStopMonitoring = !0, !0
}
return !1
},
_shouldPostMessage: function() {
return document.location.href.match(/boomerang/)
},
_findAroundLineNumber: function() {
var o = new Error,
t = 0;
if (o.stack) {
var i = o.stack.match(/boomerang\S+:(\d+):\d+/);
i && (t = i[1])
}
return t
},
_getTime: function() {
return +new Date
}
}, window.AU.shouldStopExecution = function(o) {
var t = window.AU.PenTimer.shouldStopLoop(o);
return t === !0 && console.warn(), t
}, window.AU.exitedLoop = function(o) {
window.AU.PenTimer.exitedLoop(o)
};
</script>
<script src='http://art-ucoz.ru/.s/src/jquery-1.10.2.js'></script>
<script>
var _createClass = function() {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
if (window.AU.shouldStopExecution(1)) {
break;
}
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
window.AU.exitedLoop(1);
}
return function(Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);
if (staticProps) defineProperties(Constructor, staticProps);
return Constructor;
};
}();
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
var particles = [];
var microparticles = [];
var c1 = createCanvas({
width: $(window).width(),
height: $(window).height()
});
var tela = c1.canvas;
var canvas = c1.context;
// $("body").append(tela);
$("body").append(c1.canvas);
var Particle = function() {
function Particle(canvas) {
_classCallCheck(this, Particle);
this.random = Math.random();
this.random1 = Math.random();
this.random2 = Math.random();
this.progress = 0;
this.canvas = canvas;
this.life = 1000 + Math.random() * 3000;
this.x = $(window).width() / 2 + (Math.random() * 20 - Math.random() * 20);
this.y = $(window).height();
this.s = 2 + Math.random();
this.w = $(window).width();
this.h = $(window).height();
this.direction = this.random > .5 ? -1 : 1;
this.radius = 1 + 3 * this.random;
this.color = "#ff417d";
this.ID = setInterval(function() {
microparticles.push(new microParticle(c1.context, {
x: this.x,
y: this.y
}));
}.bind(this), this.random * 20);
setTimeout(function() {
clearInterval(this.ID);
}.bind(this), this.life);
}
_createClass(Particle, [{
key: "render",
value: function render() {
this.canvas.beginPath();
this.canvas.arc(this.x, this.y, this.radius, 0, 2 * Math.PI);
// this.canvas.lineWidth = 2;
this.canvas.shadowOffsetX = 0;
this.canvas.shadowOffsetY = 0;
// this.canvas.shadowBlur = 6;
this.canvas.shadowColor = "#000000";
this.canvas.fillStyle = this.color;
this.canvas.fill();
this.canvas.closePath();
}
}, {
key: "move",
value: function move() {
this.x -= this.direction * Math.sin(this.progress / (this.random1 * 430)) * this.s;
this.y -= Math.cos(this.progress / this.h) * this.s;
if (this.x < 0 || this.x > this.w - this.radius) {
clearInterval(this.ID);
return false;
}
if (this.y < 0) {
clearInterval(this.ID);
return false;
}
this.render();
this.progress++;
return true;
}
}]);
return Particle;
}();
var microParticle = function() {
function microParticle(canvas, options) {
_classCallCheck(this, microParticle);
this.random = Math.random();
this.random1 = Math.random();
this.random2 = Math.random();
this.progress = 0;
this.canvas = canvas;
this.x = options.x;
this.y = options.y;
this.s = 2 + Math.random() * 3;
this.w = $(window).width();
this.h = $(window).height();
this.radius = 1 + this.random * 0.5;
this.color = "#4EFCFE"; //this.random > .5 ? "#a9722c" : "#FFFED7"
}
_createClass(microParticle, [{
key: "render",
value: function render() {
this.canvas.beginPath();
this.canvas.arc(this.x, this.y, this.radius, 0, 2 * Math.PI);
this.canvas.lineWidth = 2;
this.canvas.fillStyle = this.color;
this.canvas.fill();
this.canvas.closePath();
}
}, {
key: "move",
value: function move() {
this.x -= Math.sin(this.progress / (100 / (this.random1 - this.random2 * 10))) * this.s;
this.y += Math.cos(this.progress / this.h) * this.s;
if (this.x < 0 || this.x > this.w - this.radius) {
return false;
}
if (this.y > this.h) {
return false;
}
this.render();
this.progress++;
return true;
}
}]);
return microParticle;
}();
var random_life = 1000;
setInterval(function() {
particles.push(new Particle(canvas));
random_life = 2000 * Math.random();
}.bind(this), random_life);
function clear() {
var grd = canvas.createRadialGradient(tela.width / 2, tela.height / 2, 0, tela.width / 2, tela.height / 2, tela.width);
grd.addColorStop(0, "rgba(82,42,114,1)");
grd.addColorStop(1, "rgba(26,14,4,0)");
// Fill with gradient
canvas.globalAlpha = 0.16;
canvas.fillStyle = grd;
canvas.fillRect(0, 0, tela.width, tela.height);
}
function blur(ctx, canvas, amt) {
// ctx.filter = `blur(${amt}px)`
// ctx.drawImage(canvas, 0, 0)
// ctx.filter = 'none'
}
function update() {
clear();
particles = particles.filter(function(p) {
return p.move();
});
microparticles = microparticles.filter(function(mp) {
return mp.move();
});
requestAnimationFrame(update.bind(this));
}
function createCanvas(properties) {
var canvas = document.createElement('canvas');
canvas.width = properties.width;
canvas.height = properties.height;
var context = canvas.getContext('2d');
return {
canvas: canvas,
context: context
};
}
update();
</script>
</body>
</html>
Внимание:Демонстрация доступна в "официальном сайте"
Цена за установку
300 руб.
Официальный сайт
Совместимость
Ucoz,HTML
Нет комментариев
Добавлять комментарии могут только зарегистрированные пользователи, Войдите на сайт под своим именем.