Forum Moderators: open

Message Too Old, No Replies

scrolling a panorama image inside a div

how to write a script to scroll a panorama image inside a div

         

kounosuke

12:56 am on Apr 7, 2006 (gmt 0)

10+ Year Member



hi!

i found a davidbraun's script today that i found it useful for scrollin a panorama image inside a div.

david braum wrote this:


<head>
<script type="text/javascript"><!--
var bgPos = 0;
var scrollDelay = 50;
function Scroller(){
if (document.getElementById) {
document.getElementById("pnrm").style.backgroundPositionX = bgPos + 'px';
bgPos == 773? bgPos = 0 : bgPos = bgPos + 1;
setTimeout("Scroller()", scrollDelay);}
}
Scroller();
//--></script>
</head>


<body>
<div class="menubar" id="pnrm">
<img src="img/Logo.gif" alt="MATTERHOF" />
</div>
...
<script type='text/javascript'>
Scroller()
</script>
</body>

Now this script work fine for me in Internet Explorer 6. Now I would like to know if someone could help me to adapt this script to other borwsers as firefox, opera, netscape and safari.

I would really appreciate it if you could help with this, because i'm a designer pretty newbie in script writing.

thank in advance for any guidance! :)

Moby_Dim

9:39 am on Apr 7, 2006 (gmt 0)

10+ Year Member



I'd suggest you the following (adjust image name, dimensions, and event handler for your needs - this one has been tested on my pc) :

<head>
<script type="text/javascript">
<!--
var bgPos = 0;
var scrollDelay = 50;

function Scroller(){
var bgr = new getObj('pnrm');
bgPos++;
eval('bgr.style.backgroundPosition="'+bgPos+'px 0px";');
setTimeout("Scroller()", scrollDelay);
}

// the following function's taken from QuirksMode website:
function getObj(name) {
var o = 'this.obj = document.';
var s = 'this.style = document.';
if (document.getElementById) {
eval(o + 'getElementById(name);');
eval(s + 'getElementById(name).style;');
}
else if (document.all) {
eval(o + 'all[name];');
eval(s + 'all[name].style;');
}
else if (document.layers) {
eval(o + 'layers[name];');
eval(s + 'layers[name];');
}
}
//-->
</script>
<style type="text/css">
<!--
#pnrm {background : url('logo.jpg') top left no-repeat; width : 425px; height : 117px; border : 1px solid red;}
-->
</style>
</head>
<body>
<div class="menubar" id="pnrm" onmouseover="Scroller()"></div>
</body>

and welcome to WebmasterWorld

kounosuke

12:51 pm on Apr 7, 2006 (gmt 0)

10+ Year Member



Thanks Moby_dim! :)

i'll try it and then show you how it was applied to a website i'm working on.