
05-08-2009, 05:30 PM
|
|
Registered User
|
|
Join Date: Aug 2007
Posts: 3
|
|
|
workis perfectly in FF,CH,SF,OP but not IE
I am using this script to move some layers in and out of view. I works like a dream in every browser i can find apart from ie.
can anyone shed and light.
JS below.
I am getting an object required error in i.e.
I think it is someting to do with . . . if (parseInt(document.getElementById(layerin).style.l eft) >= inpos)
var pos = "";
var styleSwitch = " ";
var layerin = " ";
var layerout = " ";
var countin = 0;
var plan = " ";
var i = " ";
var l = " ";
var arr = " ";
var c=0;
var t;
var newpos = " ";
var currposs = " ";
var findMeText = " ";
var layerRef="document.getElementById";
var speed = 38;
var delay = 1;
var outpos = 760;
var inpos = 380;
var pause = 2000;
var rotatedivs = "";
function find_div_class() {
var divCollection = document.getElementsByName("rotate");
rotatedivs = new Array();
for (var i=0; i<divCollection.length; i++) {
if(divCollection[i].getAttribute("name") == "rotate") {
findMeText = divCollection[i].getAttribute("id");
rotatedivs[i] = findMeText;
}
}
}
function initlayers()
{
arr=rotatedivs;
l = arr.length;
for (i=0; i <= l-1; i++)
{
eval(layerRef+'(["'+arr[i]+'"]).style.left = "798px"');
eval(layerRef+'(["'+arr[i]+'"]).style.visibility="hidden"');
}
}
function pauseit(div) {
moveinout(div);
if (t !== null) {
clearTimeout(t);
t = null;
}
}
function playit() {
if (t === null) {
t = setTimeout('rotatelayers()', 1000);
}
}
function movein()
{
if (parseInt(document.getElementById(layerin).style.l eft) >= inpos)
{
currposs = parseInt(document.getElementById(layerin).style.le ft);
newpos = currposs - speed;
document.getElementById(layerin).style.visibility ="visible";
document.getElementById(layerin).style.left = newpos +"px";
setTimeout('movein()',delay);
}
else
{
countin = 0;
}
}
function moveout()
{
if (parseInt(document.getElementById(layerout).style. left) <= outpos)
{
currposs = parseInt(document.getElementById(layerout).style.l eft);
newpos = currposs + speed;
document.getElementById(layerout).style.left = newpos +"px";
setTimeout('moveout()', delay );
}
else
{
document.getElementById(layerout).style.visibility ="hidden";
movein();
}
}
function moveinout(div)
{
if (countin === 0)
{
countin = 1;
layerout = layerin;
layerin = div;
if (layerout != " ")
{
moveout();
}
else
{
movein();
}
}
}
function rotatelayers()
{
arr = new Array();
arr=rotatedivs;
l = arr.length;
moveinout(arr[c]);
c=c+1;
if(c == l)
{
c=0;
}
t=setTimeout("rotatelayers()",pause);
}
function StartCCTVportfolio()
{
find_div_class();
//showlayers("logos");
initlayers();
rotatelayers();
}
|