topical media & game development
graphic-javascript-effect-image-panorama.js / js
/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Andreas Berger | http://www.bretteleben.de/ */
*************************************************************************************
Copyright (C) 2008 Andreas Berger
This script is made by and copyrighted to Andreas Berger - andreas_berger@bretteleben.de
It may be used for free as long as this msg is intact!
***************************************************************************************
Version 20080501
*************************************************************************************
//*****parameters to set*****
impad='soutine.jpg'; //the path to your panorama-pic
imwid=1020; //the width of your pic
imhei=100; //the height of your pic
poslef=25; //the left position of the panorama on your page
postop=25; //the top position of the panorama on your page
panwid=400; //the width of the shown area
panhei=100; //the height of the shown area
//if it differs from the image-height, the image gets scaled in length and height
speed=40; //timeout between moves; set it lower to increase speed
move=5; // movement at one step in pixel
//*****nothing more to do, have fun :)
tim=0;noscroll=true;
imw=imwid*panhei/imhei;imh=panhei;imstart=panwid/2-imw*1.5;
jumpa=panwid/2-imw*2.5;jumpwida=imw-move;
jumpb=panwid/2-imw/2;jumpwidb=imw+move;
conwid=15;contop=postop+(imh*1)+(10*1);
conlefa=poslef+(panwid/2)-conwid;conlefb=poslef+(panwid/2);
function sr(){
if(!noscroll){
now=parseFloat(document.getElementById("pano").style.left);
if (now<=jumpa){now+=jumpwida;} else{now-=move;}
document.getElementById("pano").style.left=now;
tim=setTimeout("sr()",speed);}}
function sl(){
if(!noscroll){
now=parseFloat(document.getElementById("pano").style.left);
if (now>=jumpb){now-=jumpwidb;} else{now+=move;}
document.getElementById("pano").style.left=now;
tim=setTimeout("sl()",speed);}}
function stop(){clearTimeout(tim); noscroll=true}
document.write("<div id='panorama'>");
document.write("<div id='pano' style='position:absolute; left:"+imstart+"px; top:0px; width:"+imw*3+"px; height:"+imh+"px; z-index:2; visibility:visible;'>");
document.write("<table><tr><td nowrap><img src='"+impad+"' width="+imw+"px height="+imh+"px><img src='"+impad+"' width="+imw+"px height="+imh+"px><img src='"+impad+"' width="+imw+"px height="+imh+"px></td></tr></table>");
document.write("</div></div>");
document.write("<div id='left'><a href='javascript://' onmouseover='noscroll=false; sl()' onmouseout='stop()'><</a></div>");
document.write("<div id='right'><a href='javascript://' onmouseover='noscroll=false; sr()' onmouseout='stop()'>></a></div>");
document.write("<style>");
document.write("body { margin-left:0; margin-right:0; margin-top:0; margin-bottom:0;width:100%;height:100%;overflow:hidden;}");
document.write("#panorama {position:absolute; left:"+poslef+"px; top:"+postop+"px; width:"+panwid+"px; height:"+panhei+"px; z-index:1; clip:rect(0px,"+panwid+"px,"+panhei+"px,0px); overflow:hidden;}");
document.write("#left {position:absolute; left:"+conlefa+"px; top:"+contop+"px; width:"+conwid+"px; z-index:1; text-align:right;}");
document.write("#right {position:absolute; left:"+conlefb+"px; top:"+contop+"px; width:"+conwid+"px; z-index:1; text-align:left;}");
document.write("#right a, #left a {text-decoration:none;}");
document.write("</style>");
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.