Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Hey guys! Go to your favourite website and execute this script in console to see amazing photo cannon! :) (Prototype version - feel free to improve this code and message me source back.).
- function place_gun()
- {
- var canon = document.createElement('div');
- canon.style.position = 'absolute';
- canon.style.top = window.innerHeight/2 - 15 + 'px';
- canon.style.width = 100 + 'px';
- canon.style.height = 30 + 'px';
- canon.style.border = '1px solid';
- canon.style.borderTopLeftRadius = '200px';
- canon.style.borderBottomLeftRadius = '200px';
- canon.style.backgroundColor = 'red';
- canon.style.left = 10 + 'px';
- canon.id = 'canon';
- canon.style.textAlign = 'center';
- document.body.appendChild(canon);
- document.onmousemove = function(e)
- {
- x = e.pageX - 60;
- y = window.innerHeight/2 - e.pageY;
- angle = Math.atan(y/x)*180/Math.PI
- canon.style.webkitTransform = 'rotate('+angle*(-1)+'deg)';
- }
- }
- function load_gun()
- {
- var images = document.images;
- var index = -1;
- var elements = document.getElementsByTagName("*");
- for(i=0;i<=elements.length-1;i++)
- {
- elements[i].style.visibility = 'hidden';
- }
- document.getElementById('canon').innerHTML = images.length;
- document.getElementById('canon').style.visibility = 'visible';
- document.onclick = function(e)
- {
- index = index + 1;
- if((images.length)-index*2-1 <0) return;
- images[index].style.opacity = 0;
- document.getElementById('canon').innerHTML = (images.length)-index*2-1;
- var el = document.createElement('img');
- el.style.width = images[index].offsetWidth + 'px';
- el.style.height = images[index].offsetHeight + 'px';
- el.src = images[index].src;
- el.style.position = 'fixed';
- el.style.visibility = 'visible';
- el.style.top = canon.offsetTop + 'px'
- el.style.left = -(el.offsetWidth)-10 + 'px';
- el.style.transition = 'left 1s, top 1s';
- el.style.transitionTimingFunction = 'ease-in';
- el.style.webkitTransform = 'rotate('+angle*(-1)+'deg)';
- el.style.border = '1px solid';
- document.body.appendChild(el);
- setTimeout(function a(){el.style.left = e.pageX + 'px';el.style.top = e.pageY + 'px';},1);
- }
- }place_gun();load_gun();
Advertisement
Add Comment
Please, Sign In to add comment