- 제출된 URL:
- https://rft.lol/
- 보고서 완료:
링크 · 0개 결과
페이지에서 식별된 외부 링크
JavaScript 변수 · 183개 결과
페이지의 창 개체에 로드된 전역 JavaScript 변수는 함수 외부에서 선언된 변수로, 현재 범위 내에서 코드의 어느 부분에서나 액세스할 수 있습니다
이름 | 유형 |
---|---|
0 | object |
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
gtag | function |
dataLayer | object |
GoogleAnalyticsObject | string |
ga | function |
UCbfs_Cut_Cbvqkc | object |
google_tag_data | object |
콘솔 로그 메시지 · 7개 결과
웹 콘솔에 기록된 메시지
유형 | 카테고리 | 로그 |
---|---|---|
log | other |
|
log | other |
|
error | other |
|
error | network |
|
log | other |
|
log | other |
|
log | other |
|
HTML
페이지의 원시 HTML 본문
<!DOCTYPE html><!--
T: 2023-08-07 21:58:43
Api: 0c29e26af2ca58d58b00
It: 4036127
--><html><head>
<title>All in one giftcards</title>
<meta name="description" content="All in one giftcards">
<meta property="og:title" content="All in one giftcards">
<meta property="og:description" content="All in one giftcards">
<meta name="referrer" content="no-referrer">
<!-- Google tag (gtag.js) -->
<script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=G-EL9WPX8S0Z&cx=c&_slc=1"></script><script async="" src="https://www.google-analytics.com/analytics.js"></script><script async="" src="https://www.googletagmanager.com/gtag/js?id=G-3MMXNV8RWB"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-3MMXNV8RWB');
</script>
<script>
Sentry.init({
dsn: 'https://[email protected]/5780930',
tracesSampleRate: 0.01
});
</script>
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o), m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('send', 'pageview');
</script>
<style>
.header_blue {
background: #1565c0;
padding: 80px 0 20px;
color: #fff;
font-size: 48px;
font-weight: 300;
margin-bottom: 40px;
}
.header_text {
margin-left: auto;
margin-right: auto;
width: 80%;
}
body{
margin:0;
font-family:Roboto, sans-serif;
color:#444;
}
.unlockBtn:hover{
box-shadow: 0 3px 6px rgba(0,0,0,.16), 0 3px 6px rgba(0,0,0,.23);
}
.unlockBtn {
background: #2196f3;
border: none;
border-radius: 2px;
box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);
min-height: 31px;
min-width: 70px;
padding: 2px 16px;
text-align: center;
text-shadow: none;
text-transform: uppercase;
-webkit-transition: all 280ms ease;
transition: all 280ms ease;
box-sizing: border-box;
cursor: pointer;
-webkit-appearance: none;
display: inline-block;
vertical-align: middle;
font: 500 14px/31px Roboto,sans-serif!important;
outline: 0!important;
color:white;
}
.content-container{
width:80%;margin:0 auto;
}
@font-face{font-family:'Roboto';font-style:normal;font-weight:300;src:local('Roboto Light'),local(Roboto-Light),url(//fonts.gstatic.com/s/roboto/v15/Pru33qjShpZSmG3z6VYwnRJtnKITppOI_IvcXXDNrsc.woff2) format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;src:local('Roboto Light'),local(Roboto-Light),url(//fonts.gstatic.com/s/roboto/v15/Hgo13k-tfSpn0qi1SFdUfVtXRa8TVwTICgirnJhmVJw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto Medium'),local(Roboto-Medium),url(//fonts.gstatic.com/s/roboto/v15/oOeFwZNlrTefzLYmlVV1UBJtnKITppOI_IvcXXDNrsc.woff2) format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto Medium'),local(Roboto-Medium),url(//fonts.gstatic.com/s/roboto/v15/RxZJdnzeo3R5zSexge8UUVtXRa8TVwTICgirnJhmVJw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}
body{
font-family: -apple-system, BlinkMacSystemFont, 'Arial', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
background-color: #e0e0e0;
overflow-x: hidden;
}
::-webkit-scrollbar {width: 1px;}
canvas {
position: fixed;
top: 0;
left: 0;
opacity: 1;
}
.spns {
color: #b1b1b1;
font-size: 15px;
padding: 0 55px;
}
.responsive-iframe {
margin-top: 5px;
top: 0;
left: 0;
height: 50px;
border: none;
}
.jdl-hdr {
background-image: url(https://d266key948fg17.cloudfront.net/uploads/16456066916a38f76ae3e8e9726290ecaff38046f2.png);
text-align: center;
background-color: #fafafc;
padding: 150px 15px;
padding-bottom: 1px;
font-weight: bold;
font-size: 30px;
color: #1b1b1b;
text-shadow: 0 0 5px #3c3c3c;
background-repeat: no-repeat;
background-position: center;
background-size: 36%;
border-radius: 8px 8px 0 0;
}
.selectedimage { height: 135px;}
@keyframes pulsel{
25% {transform: scale(0.9); }
75% {transform: scale(1); }
}
.hulu {
font-size: 25px;
color: #fafafc;
font-weight: bold;
background-color: #00000073;
border-radius: 8px;
padding: 5px;
}
.loader{ padding-top: 40px;}
.Main1 {
height: auto;
padding: 15px;
padding-bottom: 10px;
margin-top: 5px;
position: relative;
}
a:-webkit-any-link {
color: #22e4ad;
cursor: pointer;
text-decoration: none;
}
.hideform { display: none;
}
.maxs {
max-width: 700px;
width: 94%;
text-align: center;
margin: 10px auto;
background-color: #ffffffd9;
border-radius: 8px;
box-shadow: 0 0 25px 5px #838383;
position: relative;
}
.Platform {
padding:10px;
margin: 0px;
background-color: rgb(186,186,186);
border-radius: 8px;
border-color: rgb(227,227,227);
border-style: solid;
}
.Packket {
padding: 20px 0 40px 0;
margin: 0px;
height: auto;
border-radius: 8px;
background-color: #000000a3;
}
.Packket2 {
min-height: 250px;
padding: 10px;
animation: animatezoom 0.6s;
}
.checkmark {
position: absolute;
top: 0;
left: 0;
height: 74px;
width: 107px;
background-color: #f2f2f2;
border-radius: 8px;
}
.checkmark:after {
content: "";
position: absolute;
display: none;
}
h3 {
max-width: 560px;
width: 90%;
font-size: 18px;
margin: 5px auto 15px;
color: #fbfef9;
}
.nyod { animation: pulsel 1.5s ease-in infinite;}
button {
padding: 10px 30px;
margin: 20px;
border: 1px solid #d9d9d9;
border-radius: 10px;
background-color: #00000000;
color: #262626;
font-size: 16px;
font-weight: bold;
cursor: pointer;
animation: pulsel 2s ease-in infinite;
box-shadow: 0 0 20px 0px #838383;
}
.footer {
text-align: center;
font-size: 15px;
margin-top: 10px;
padding: 15px 55px;
color: rgb(155, 155, 155);
background-color: #fafafc;
border-radius: 0 0 8px 8px;
}
.recent {
height:100px;
position: relative;
text-align:center;
color: #1bffa6;
margin-bottom: 10px;
padding-top: 10px;
background-color: rgb(186,186,186);
border-radius: 8px;
border: 1px solid #d9d9d9;
height: 100px;
border-radius: 8px;
}
div.step {
position: absolute;
width: 20px;
height: 20px;
background-color: red;
bottom: 10px;
left: 10px;
border-radius: 50px;
z-index: 2;
border: 1px solid #d9d9d9;
}
div.step2 {
position: absolute;
width: 20px;
height: 20px;
background-color: red;
bottom: 10px;
right: 10px;
border-radius: 50px;
z-index: 2;
border: 1px solid #d9d9d9;
}
div.step3 {
position: absolute;
width: 20px;
height: 20px;
background-color: red;
bottom: 10px;
right: 50%;
border-radius: 50px;
z-index: 2;
border: 1px solid #d9d9d9;
}
.containerPack {
position: relative;
padding-left: 195px;
cursor: pointer;
font-size: 255px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.containerPack input {
position: absolute;
opacity: 0;
cursor: pointer;
}
.containerPack:hover input ~ .checkmarkPack {background-color: #ccc;}
.containerPack input:checked ~ .checkmarkPack {opacity: 1;}
.checkmarkPack:after {
content: "FREE";
font-size: 14px;
font-weight: 400;
color: #efeff1;
background-color: #da151c;
border-radius: 4px;
padding: 0 6px;
text-shadow: 0 1px 5px white;
position: relative;
top: 35px;
}
.containerPack input:checked ~ .checkmarkPack:after {display: none;}
.checkmarkPack {
opacity: 1;
background-size: contain;
position: absolute;
top: 0;
left: 0;
height: 285px;
width: 180px;
border-radius:15px;
border: 1px solid white;
animation: animatezoom 0.6s
}
.checkmarkPack.card1 {
background-image: url("https://d266key948fg17.cloudfront.net/uploads/16454931964ae4b735cb411f2de267110a434da371.png");
}
.checkmarkPack.card2 {
background-image: url("https://d266key948fg17.cloudfront.net/uploads/16454932785b7b640a16766af88f84901c26fde30d.png");
}
.checkmarkPack.card3 {
background-image: url("https://d266key948fg17.cloudfront.net/uploads/16456066910ad995c478735eeb59daf47640f653e3.png");
}
.checkmarkPack.card4 {
background-image: url("https://d266key948fg17.cloudfront.net/uploads/16470047894e0de69106b6d5dc5add9dcfe186f25e.png");
}
.checkmarkPack.card5 {
background-image: url("https://d266key948fg17.cloudfront.net/uploads/16456066913af5eafc1e8f4b67bdb9fad531193dd3.png");
}
.checkmarkPack.card6 {
background-image: url("https://d266key948fg17.cloudfront.net/uploads/16456066916e6559533a5e292ccba8bb80f9149007.png");
}
.checkmarkPack.card7 {
background-image: url("https://d266key948fg17.cloudfront.net/uploads/1645606691ccf0a7bdb704e85631127b851dc0e997.png");
}
.checkmarkPack.card8 {
background-image: url("https://d266key948fg17.cloudfront.net/uploads/164560669197909a539d87aced1c1438c4da903d01.png");
}
.checkmarkPack.card9 {
background-image: url("https://d266key948fg17.cloudfront.net/uploads/1645606690250c6c064370ec8752e020ce647d55a1.png");
}
.checkmarkPack.card10 {
background-image: url("https://d266key948fg17.cloudfront.net/uploads/1645606690860b44915e39951ccef2f78aae356a84.png");
}
.checkmarkPack.card11 {
background-image: url("https://d266key948fg17.cloudfront.net/uploads/1645606690bc25555bab4430a7900a83e596aef47d.png");
}
.checkmarkPack.card12 {
background-image: url("https://d266key948fg17.cloudfront.net/uploads/1645606690dfe4c50e8dab48f102c825bbb91242c3.png");
}
.percent {
color: #fafafc;
left: 40px;
font-size: 18px;
z-index: 2;
margin-bottom:20px;
margin-top:50px;
}
.Lastcode {
font-size: 21px;
text-align: center;
color: #081e01;
border-radius: 8px;
padding-top: 5px;
width: 100%;
}
@media only screen and (max-width:680px){
.Main1 {
height: auto;
padding: 5px;
}
.Lastcode { font-size: 20px;}
.footer{
padding: 15px 20px;
font-size: 14px;
}
h1 { font-size: 16px; }
.hulu { font-size: 18px;}
.containerPack {
padding-left: 165px;
padding-right: 5px;
font-size: 242px;
}
.checkmarkPack {
height: 254px;
width: 160px;
margin-left: 3px;
}
.Packket { padding: 15px 0 20px 0;}
.jdl-hdr{
padding-bottom: 7px;
padding-top: 115px;
background-size: 48%;
font-size: 25px;
}
.spns {
color: #b1b1b1;
font-size: 15px;
padding: 0 15px;
}
}
@media only screen and (max-width:360px){
.checkmarkPack {
height: 238px;
width: 150px;
}
.containerPack {
padding-left: 155px;
font-size: 200px;
}
}
.anzoom { animation: animatezoom 0.6s}
@keyframes animatezoom {
from {transform: scale(0)}
to {transform: scale(1)}
}
</style>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://dh9e7lxecq73l.cloudfront.net/public/external/css_frontXF.css" id="xfGLOBALSTYLE"><script type="text/javascript" src="https://d25mdneknrv20w.cloudfront.net/public/external/v2/htmlxf.4289381.39622.0.js" id="xfMAINJS"></script><link data-it="4289381" rel="stylesheet" id="xfSPECIFICSTYLE" href="https://d25mdneknrv20w.cloudfront.net/public/clockers/PrimeApps/cssXF.css"><link data-it="4289381" rel="stylesheet" id="xfSPECIFICSTYLE" href="https://d25mdneknrv20w.cloudfront.net/public/clockers/PrimeApps/cssXF.css"><style type="text/css" id="xfSettingsCSS">#xf_MODAL_CONTAINER #xfMODALCONTENT{animation-duration: 600ms;-webkit-transition: all 600ms;transition: all 600ms;transition-duration: 600ms;}</style><script id="xfLEADCHECK" type="text/javascript" src="https://d25mdneknrv20w.cloudfront.net/public/external/check.php?it=4289381&time=1734301137438"></script></head>
<body>
<canvas id="ramat" width="800" height="600"></canvas>
<div class="maxs">
<div class="jdl-hdr">FREE GIFT CARD CODE</div>
<div class="Main1 center" style="display:none" id="Mainstep1"></div>
<div class="Main1" id="Mainstep2">
<h3> CHOOSE YOUR CARD </h3>
<label class="containerPack" onclick="functionPack1(1)">
<input type="radio">
<span class="checkmarkPack card1"></span>
</label>
<label class="containerPack" onclick="functionPack1(2)">
<input type="radio">
<span class="checkmarkPack card2"></span>
</label>
<label class="containerPack" onclick="functionPack1(3)">
<input type="radio">
<span class="checkmarkPack card3"></span>
</label>
<label class="containerPack" onclick="functionPack1(4)">
<input type="radio">
<span class="checkmarkPack card4"></span>
</label>
<label class="containerPack" onclick="functionPack1(5)">
<input type="radio">
<span class="checkmarkPack card5"></span>
</label>
<label class="containerPack" onclick="functionPack1(6)">
<input type="radio">
<span class="checkmarkPack card6"></span>
</label>
<label class="containerPack" onclick="functionPack1(7)">
<input type="radio">
<span class="checkmarkPack card7"></span>
</label>
<label class="containerPack" onclick="functionPack1(8)">
<input type="radio">
<span class="checkmarkPack card8"></span>
</label>
<label class="containerPack" onclick="functionPack1(9)">
<input type="radio">
<span class="checkmarkPack card9"></span>
</label>
<label class="containerPack" onclick="functionPack1(10)">
<input type="radio">
<span class="checkmarkPack card10"></span>
</label>
<label class="containerPack" onclick="functionPack1(11)">
<input type="radio">
<span class="checkmarkPack card11"></span>
</label>
<label class="containerPack" onclick="functionPack1(12)">
<input type="radio">
<span class="checkmarkPack card12"></span>
</label>
</div>
<div class="Main1 hideform" id="Mainstep3">
<div class="Packket2">
<div class="Probackground"><div class="percent" id="percent"> 0% </div>
<div class="Progressbar" id="Progressbar"></div>
</div>
<div id="gencode" class="Lastcode">0000-0000-0000-0000</div>
</div>
</div>
<div class="Main1 hideform" id="Mainstep4">
<div class="Packket2">
<img id="selectedimage" class="selectedimage">
<div id="gencode1" class="Lastcode">0000-0000-0000-0000</div>
<button onclick="_cy()" class="button">Unlock Last Code</button>
</div></div>
<div class="recentActivity">
<div class="footer">
<span style="color:#262626;">Server Status:<span style="color:#01ffad;"> Online</span></span> -
<span style="color:#262626;">Online Users: <span id="onlinuserid" style="color:#01ffad;">249</span>
</span><p></p>
<div class="container"><div class="row">
<div class="col-md-12 text-center">
<span>Copyright © Free Gift Card Code. Use of this site constitutes acceptance of our Terms of service and Privacy Policy. All Rights Reserved. </span>
</div></div></div></div></div></div>
<script type="text/javascript">
var UCbfs_Cut_Cbvqkc={"it":4289381,"key":"39622"};
</script>
<script src="https://d1dvnx7eh6slvq.cloudfront.net/d0e6dac.js"></script>
$(document).ready(function(){
//Javascript Here
<script src="https://dyodrs1kxvg6o.cloudfront.net/6c96c90.js"></script>
<script type="text/javascript">
var elem = document.getElementById("stepid");
var elem1 = document.getElementById("stepid1");
var elem2 = document.getElementById("stepid2");
var width = 45;
var wait=1;
var genvalue = [1000, 5000, 5000];
var genvalueran=Math.floor(Math.random() * 3);
var wait2=genvalue[genvalueran] + 800;
var gennamelist = ["Gambit"];
var name=gennamelist[Math.floor(Math.random() * 52)];
var x=genvalue[genvalueran];
var x= x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
var myVar2 = setInterval(UserTimer, 3000);
function UserTimer() { document.getElementById("onlinuserid").innerHTML=Math.floor(Math.random() * 50)+200;
}
var Radiovalue;
function Mainstepfunction() {
var radios = document.getElementsByTagName('input');
for (var i = 0; i < radios.length; i++) {
if (radios[i].type === 'radio' && radios[i].checked) { Radiovalue = radios[i].value;
}
}
var getusername= document.getElementById("username").value;
if (getusername!=""){
document.getElementById("Mainstep1").style.display = "none";
document.getElementById("Mainstep2").style.display = "block";
}else { document.getElementById("username").style.borderColor = "#fd6f6f";
}
}
function functionPack1(cardvalue) {
var myVarCode = setInterval(genkey, 10);
var stop=0;
var KeyCode = ["A", "B", "C","D","E","F","G","H","I","J","K","L","Z","Y","X","W","V","U","T","S","R","Q","P","O","N","M","9","8","7","6","5","4","3","2","1","0"];
function genkey() {
key1=KeyCode[Math.floor(Math.random() * 36)];
key2=KeyCode[Math.floor(Math.random() * 36)];
key3=KeyCode[Math.floor(Math.random() * 36)];
key4=KeyCode[Math.floor(Math.random() * 36)];
key5=KeyCode[Math.floor(Math.random() * 36)];
key6=KeyCode[Math.floor(Math.random() * 36)];
key7=KeyCode[Math.floor(Math.random() * 36)];
key8=KeyCode[Math.floor(Math.random() * 36)];
key9=KeyCode[Math.floor(Math.random() * 36)];
key10=KeyCode[Math.floor(Math.random() * 36)];
key11=KeyCode[Math.floor(Math.random() * 36)];
key12=KeyCode[Math.floor(Math.random() * 36)];
key13=KeyCode[Math.floor(Math.random() * 36)];
key14=KeyCode[Math.floor(Math.random() * 36)];
key15=KeyCode[Math.floor(Math.random() * 36)];
key16=KeyCode[Math.floor(Math.random() * 36)];
if (stop<=98){
document.getElementById("gencode").innerHTML=key1+key2+key3+key4+"-"+key5+key6+key7+key8+"-"+key9+key10+key11+key12+"-"+key13+key14+key15+key16;
stop++;
}else {
document.getElementById("gencode").innerHTML=key1+key2+key3+key4+"-"+key5+key6+key7+key8+"-"+key9+key10+key11+key12+"-####";
document.getElementById("gencode1").innerHTML=key1+key2+key3+key4+"-"+key5+key6+key7+key8+"-"+key9+key10+key11+key12+"-####";
clearInterval(myVarCode);
}
}
document.getElementById("Mainstep2").style.display = "none";
document.getElementById("Mainstep3").style.display = "block";
var myVar = setInterval(myTimer, 10);
var width=0;
function myTimer() { width++;
document.getElementById("Progressbar").style.width = width+"%";
document.getElementById("percent").innerHTML=width + " %";
if (width>=100){
if (cardvalue==1){
document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/16454931964ae4b735cb411f2de267110a434da371.png";
}else if (cardvalue==2){
document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/16454932785b7b640a16766af88f84901c26fde30d.png";
}else if (cardvalue==3){
document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/16456066910ad995c478735eeb59daf47640f653e3.png";
}else if (cardvalue==4){
document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/16470047894e0de69106b6d5dc5add9dcfe186f25e.png";
}else if (cardvalue==5){
document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/16456066913af5eafc1e8f4b67bdb9fad531193dd3.png";
}else if (cardvalue==6){
document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/16456066916e6559533a5e292ccba8bb80f9149007.png";
}else if (cardvalue==7){
document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/1645606691ccf0a7bdb704e85631127b851dc0e997.png";
}else if (cardvalue==8){
document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/164560669197909a539d87aced1c1438c4da903d01.png";
}else if (cardvalue==9){
document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/1645606690250c6c064370ec8752e020ce647d55a1.png";
}else if (cardvalue==10){
document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/1645606690860b44915e39951ccef2f78aae356a84.png";
}else if (cardvalue==11){
document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/1645606690bc25555bab4430a7900a83e596aef47d.png";
}else if (cardvalue==12){
document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/1645606690dfe4c50e8dab48f102c825bbb91242c3.png";
}
document.getElementById("Mainstep3").style.display = "none";
document.getElementById("Mainstep4").style.display = "block";
}
}
}
</script>
<script type="text/javascript">
var canvas = document.getElementById('ramat'),
can_w = parseInt(canvas.getAttribute('width')),
can_h = parseInt(canvas.getAttribute('height')),
ctx = canvas.getContext('2d');
// console.log(typeof can_w);
var BALL_NUM = 30
var ball = {
x: 0,
y: 0,
vx: 0,
vy: 0,
r: 0,
alpha: 1,
phase: 0
},
ball_color = {
r: 0,
g: 213,
b: 56
},
R = 2,
balls = [],
alpha_f = 0.03,
alpha_phase = 0,
// Line
link_line_width = 0.8,
dis_limit = 260,
add_mouse_point = true,
mouse_in = false,
mouse_ball = {
x: 0,
y: 0,
vx: 0,
vy: 0,
r: 0,
type: 'mouse'
};
// Random speed
function getRandomSpeed(pos){
var min = -1,
max = 1;
switch(pos){
case 'top':
return [randomNumFrom(min, max), randomNumFrom(0.1, max)];
break;
case 'right':
return [randomNumFrom(min, -0.1), randomNumFrom(min, max)];
break;
case 'bottom':
return [randomNumFrom(min, max), randomNumFrom(min, -0.1)];
break;
case 'left':
return [randomNumFrom(0.1, max), randomNumFrom(min, max)];
break;
default:
return;
break;
}
}
function randomArrayItem(arr){
return arr[Math.floor(Math.random() * arr.length)];
}
function randomNumFrom(min, max){
return Math.random()*(max - min) + min;
}
console.log(randomNumFrom(0, 10));
// Random Ball
function getRandomBall(){
var pos = randomArrayItem(['top', 'right', 'bottom', 'left']);
switch(pos){
case 'top':
return {
x: randomSidePos(can_w),
y: -R,
vx: getRandomSpeed('top')[0],
vy: getRandomSpeed('top')[1],
r: R,
alpha: 1,
phase: randomNumFrom(0, 10)
}
break;
case 'right':
return {
x: can_w + R,
y: randomSidePos(can_h),
vx: getRandomSpeed('right')[0],
vy: getRandomSpeed('right')[1],
r: R,
alpha: 1,
phase: randomNumFrom(0, 10)
}
break;
case 'bottom':
return {
x: randomSidePos(can_w),
y: can_h + R,
vx: getRandomSpeed('bottom')[0],
vy: getRandomSpeed('bottom')[1],
r: R,
alpha: 1,
phase: randomNumFrom(0, 10)
}
break;
case 'left':
return {
x: -R,
y: randomSidePos(can_h),
vx: getRandomSpeed('left')[0],
vy: getRandomSpeed('left')[1],
r: R,
alpha: 1,
phase: randomNumFrom(0, 10)
}
break;
}
}
function randomSidePos(length){
return Math.ceil(Math.random() * length);
}
// Draw Ball
function renderBalls(){
Array.prototype.forEach.call(balls, function(b){
if(!b.hasOwnProperty('type')){
ctx.fillStyle = 'rgba('+ball_color.r+','+ball_color.g+','+ball_color.b+','+b.alpha+')';
ctx.beginPath();
ctx.arc(b.x, b.y, R, 0, Math.PI*2, true);
ctx.closePath();
ctx.fill();
}
});
}
// Update balls
function updateBalls(){
var new_balls = [];
Array.prototype.forEach.call(balls, function(b){
b.x += b.vx;
b.y += b.vy;
if(b.x > -(50) && b.x < (can_w+50) && b.y > -(50) && b.y < (can_h+50)){
new_balls.push(b);
}
// alpha change
b.phase += alpha_f;
b.alpha = Math.abs(Math.cos(b.phase));
// console.log(b.alpha);
});
balls = new_balls.slice(0);
}
// loop alpha
function loopAlphaInf(){}
// Draw lines
function renderLines(){
var fraction, alpha;
for (var i = 0; i < balls.length; i++) {
for (var j = i + 1; j < balls.length; j++) {
fraction = getDisOf(balls[i], balls[j]) / dis_limit;
if(fraction < 1){
alpha = (1 - fraction).toString();
ctx.strokeStyle = 'rgba(150,150,150,'+alpha+')';
ctx.lineWidth = link_line_width;
ctx.beginPath();
ctx.moveTo(balls[i].x, balls[i].y);
ctx.lineTo(balls[j].x, balls[j].y);
ctx.stroke();
ctx.closePath();
}
}
}
}
// calculate distance between two points
function getDisOf(b1, b2){
var delta_x = Math.abs(b1.x - b2.x),
delta_y = Math.abs(b1.y - b2.y);
return Math.sqrt(delta_x*delta_x + delta_y*delta_y);
}
// add balls if there a little balls
function addBallIfy(){
if(balls.length < BALL_NUM){
balls.push(getRandomBall());
}
}
// Render
function render(){
ctx.clearRect(0, 0, can_w, can_h);
renderBalls();
renderLines();
updateBalls();
addBallIfy();
window.requestAnimationFrame(render);
}
// Init Balls
function initBalls(num){
for(var i = 1; i <= num; i++){
balls.push({
x: randomSidePos(can_w),
y: randomSidePos(can_h),
vx: getRandomSpeed('top')[0],
vy: getRandomSpeed('top')[1],
r: R,
alpha: 1,
phase: randomNumFrom(0, 10)
});
}
}
// Init Canvas
function initCanvas(){
canvas.setAttribute('width', window.innerWidth);
canvas.setAttribute('height', window.innerHeight);
can_w = parseInt(canvas.getAttribute('width'));
can_h = parseInt(canvas.getAttribute('height'));
}
window.addEventListener('resize', function(e){
console.log('Window Resize...');
initCanvas();
});
function goMovie(){
initCanvas();
initBalls(BALL_NUM);
window.requestAnimationFrame(render);
}
goMovie();
// Mouse effect
canvas.addEventListener('mouseenter', function(){
console.log('mouseenter');
mouse_in = true;
balls.push(mouse_ball);
});
canvas.addEventListener('mouseleave', function(){
console.log('mouseleave');
mouse_in = false;
var new_balls = [];
Array.prototype.forEach.call(balls, function(b){
if(!b.hasOwnProperty('type')){
new_balls.push(b);
}
});
balls = new_balls.slice(0);
});
canvas.addEventListener('mousemove', function(e){
var e = e || window.event;
mouse_ball.x = e.pageX;
mouse_ball.y = e.pageY;
// console.log(mouse_ball);
});
</script>
<!-- Code injected by live-server -->
<script type="text/javascript">
// <![CDATA[ <-- For SVG support
if ('WebSocket' in window) {
(function () {
function refreshCSS() {
var sheets = [].slice.call(document.getElementsByTagName("link"));
var head = document.getElementsByTagName("head")[0];
for (var i = 0; i < sheets.length; ++i) {
var elem = sheets[i];
var parent = elem.parentElement || head;
parent.removeChild(elem);
var rel = elem.rel;
if (elem.href && typeof rel != "string" || rel.length == 0 || rel.toLowerCase() == "stylesheet") {
var url = elem.href.replace(/(&|\?)_cacheOverride=\d+/, '');
elem.href = url + (url.indexOf('?') >= 0 ? '&' : '?') + '_cacheOverride=' + (new Date().valueOf());
}
parent.appendChild(elem);
}
}
var protocol = window.location.protocol === 'http:' ? 'ws://' : 'wss://';
var address = protocol + window.location.host + window.location.pathname + '/ws';
var socket = new WebSocket(address);
socket.onmessage = function (msg) {
if (msg.data == 'reload') window.location.reload();
else if (msg.data == 'refreshcss') refreshCSS();
};
if (sessionStorage && !sessionStorage.getItem('IsThisFirstTime_Log_From_LiveServer')) {
console.log('Live reload enabled.');
sessionStorage.setItem('IsThisFirstTime_Log_From_LiveServer', true);
}
})();
}
else {
console.error('Upgrade your browser. This Browser is NOT supported WebSocket for Live-Reloading.');
}
// ]]>
</script>
});
<script>
if(typeof window.ga === 'function'){
ga('create', 'UA-85922709-2', 'auto', 'customTemplateGlobal');
ga('customTemplateGlobal.set', 'dimension1', typeof window.CPBContentLocker === 'function' ? 0 : 1);
ga('customTemplateGlobal.send', 'pageView');
}
</script>
<div id="xf_MODAL_CONTAINER" style="display: none;"><div id="xf_MODAL">
<div id="xfMODALCONTENT" class="xf_fadeIn">
<div id="xfMODALHEADER">
<div id="xfMODALTITLE"></div> </div>
<div id="xfMODALBODY">
<iframe id="xfOFFERS" style="overflow:hidden;" src=""></iframe>
</div>
<div id="xfMODALFOOTER">
<p id="xfMODALFOOTERTEXT"></p>
</div>
</div>
</div>
</div></body></html>