Hi there, new member here..
From the sounds of it, I'm looking for the exact same thing or something very similar. I tried to apply the code vwphillips posted, with no luck. Please help me out, I need ot be able to close each info div so that it doesnt overlap or extend off-screen.
Any help appreciated, thanks.
Code:
var timerlen =100;
var slideAniLen = 250;
var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();
function slidedown(did){
if(moving[did])
return;
if(document.getElementById(did).style.display != "none")
return; // cannot slide down something that is already visible
moving[did] = true;
dir[did] = "down";
startslide(did);
}
function slideup(did){
if(moving[did])
return;
if(document.getElementById(did).style.display == "none")
return; // cannot slide up something that is already hidden
moving[did] = true;
dir[did] = "up";
startslide(did);
}
function startslide(did){
obj[did] = document.getElementById(did);
endHeight[did] = parseInt(obj[did].style.height);
startTime[did] = (new Date()).getTime();
if(dir[did] == "down"){
obj[did].style.height = "1px";
}
obj[did].style.display = "block";
timerID[did] = setInterval('slidetick(\'' + did + '\');',timerlen);
}
function slidetick(did){
var elapsed = (new Date()).getTime() - startTime[did];
if (elapsed > slideAniLen)
endSlide(did)
else {
var d =Math.round(elapsed / slideAniLen * endHeight[did]);
if(dir[did] == "up")
d = endHeight[did] - d;
obj[did].style.height = d + "px";
}
return;
}
function endSlide(did){
clearInterval(timerID[did]);
if(dir[did] == "up")
obj[did].style.display = "none";
obj[did].style.height = endHeight[did] + "px";
delete(moving[did]);
delete(timerID[did]);
delete(startTime[did]);
delete(endHeight[did]);
delete(obj[did]);
delete(dir[did]);
return;
}
function toggleSlide(did,iid)
{
if(document.getElementById(did).style.display == "none")
{
// div is hidden, so let's slide down
slidedown(did);
document.getElementById(iid).setAttribute('src','hexpander/remove.png');
}
else
{
// div is not hidden, so slide up
slideup(did);
document.getElementById(iid).setAttribute('src','hexpander/insert.png');
}
}
Bookmarks