Hi
I have a carousel script. I want to load the carousel with a new set of pictures every time I press a button. The problem that I have that the script append the new pictures to the olds one and the next and previous buttons are added again and again. Please help meto solve the problem. The full html and javascript are attached for your conviniet.
HTML
-------
Javascript
I have a carousel script. I want to load the carousel with a new set of pictures every time I press a button. The problem that I have that the script append the new pictures to the olds one and the next and previous buttons are added again and again. Please help meto solve the problem. The full html and javascript are attached for your conviniet.
HTML
-------
Code:
<HTML>
<HEAD>
<META http-equiv="Content-Language" content="en-us">
<TITLE>DHTML Image Viewer</TITLE>
<script type="text/javascript" language="JavaScript" src="DHTMLImageViewer_v1.js"></script>
<script language="javascript" type="text/javascript">
function test(){
//window.location.reload();
//imageList="MichaelFalatineBlueMetalHorse.jpg:vendor0:product0;MichaelFalatineColdCalmPeace.jpg:vendor1:product1;MichaelFalatineDecision.jpg:vendor2:product2;MichaelFalatineBlueMetalHorse.jpg:vendor0:product0;MichaelFalatineColdCalmPeace.jpg:vendor1:product1;MichaelFalatineDecision.jpg:vendor2:product2;";
//imageList="MichaelFalatineBlueMetalHorse.jpg:vendor0:product0"
//imageList="";
imageList=document.getElementById("ID").value;
InitializePage(imageList)
}
</script>
<STYLE>
//body {font-family: Tahoma; font-size: 10pt; color:white; background-color:white}
//a { font-family: Tahoma; font-size: 10pt; text-decoration: none; color: white }
//a:link { font-family: Tahoma; font-size: 10pt; color: #000000; text-decoration: none }
//a:hover { font-family: Tahoma; font-size: 10pt; color: gray; text-decoration: none }
</STYLE>
</HEAD>
<BODY>
<input name="test" id="ID" type="text" size="255">
<input name="test" id="test" type="button" onclick="test();" value="search">
</BODY>
</HTML>
Javascript
Code:
// |||||||||||||||||||||||||||||||||||||||||||
// | Set Position, Dimensions And Color HERE |
// |||||||||||||||||||||||||||||||||||||||||||
// Image Viewer Dimensions settings (pixels):
var PagePositionLEFT = 100; // Set position of Image viewer from LEFT of page
var PagePositionTOP = 150; // Set position of Image viewer from TOP of page
var InterFaceWidth = 546; // Set [Overall] WIDTH |||| minimum length=300
var ViewingAreaHeight = 160; // Set [Viewing area] HEIGHT |||| minimum length=10
var OverALLBorder = 'on'; // Set [Over All] Border 'on' or '' (blank) for off
// Image Viewer Colors [example: 'red' or '#FF0000']
var OverALLBorderColor = 'black'; // Set color of [Over All] Border
var ControlsBGColor = 'gray'; // Set color of [Control Area] Background |||| use '' = no color
var ControlsFontColor = 'white'; // Set color of [Control Area] Font
var ViewAreaBGColor = 'gray'; // Set color of [Viewing Area] Background |||| use '' = no color
var ImageBorderColor = 'white'; // Set color of [Image] Border
var ButtonBGColor = 'black'; // Set color of [Button] Background
var ButtonFontColor = 'white'; // Set color of [Button] Font
var ButtonBorderColor = 'white'; // Set color of [Button] border
// Image Alignment
var ImageValignment = 'middle'; // Set verticle alignment within viewer (options: top, bottom. middle)
// :::::::::::::::::::::::::
// ::: Testing var ::::
// :::::::::::::::::::::::::
var ImageArray = new Array(100);
var manufacture = new Array(100);
var modelName = new Array(100);
var emptyList;
var imageList;
var isFirstLoad=0;
// :::::::::::::::::::::::::
// ::: Initialize Page ::::
// :::::::::::::::::::::::::
//imageList="MichaelFalatineBlueMetalHorse.jpg:vendor0:product0;MichaelFalatineColdCalmPeace.jpg:vendor1:product1;MichaelFalatineDecision.jpg:vendor2:product2;MichaelFalatineBlueMetalHorse.jpg:vendor0:product0;MichaelFalatineColdCalmPeace.jpg:vendor1:product1;MichaelFalatineDecision.jpg:vendor2:product2;";
//imageList="MichaelFalatineBlueMetalHorse.jpg:vendor0:product0"
//imageList="";
//window.onload=InitializePage;
//window.onload=InitializePage;
function InitializePage(imageList)
{
// Call the ajax function that return a string with all models found in the searc
// Install Image Viewer HTML file name holder Input element
FirstDIV=document.createElement('DIV')
document.body.appendChild(FirstDIV)
FirstDIV.innerHTML="<INPUT type=hidden id=fileNameHolder>"+
"<DIV id='interface'>" +
" <DIV id='ViewingArea'>" +
" <TABLE border='0' cellpadding='2'>" +
" <TR id='ImageContainer'>" +
" </TR>" +
" </TABLE>" +
" </DIV>" +
" <DIV id='controls'>" +
" <DIV id='Verbiage'>" +
" </DIV>" +
" <DIV id='ScrollLeft'>" +
" <INPUT onclick='moveLeft()' type='button' value='Previous' id='previous'>" +
" </DIV>" +
" <DIV id='ScrollRight'>" +
" <INPUT onclick='moveRight()' type='button' value='Next' id='next'>" +
" </DIV>" +
" </DIV>" +
"</DIV>"
if (imageList != "") {
var splitarray = imageList.split(";");
for (i=0;i < splitarray.length;i++) {
var splitarray1 = splitarray[i].split(":");
TDElement=document.createElement("TD");
TDElement.innerHTML="<IMG border='0' width=\"100\" height=\"100\" src='Thumbnails/"+splitarray1[0]+"'><br>"+splitarray1[1]+"<br>"+splitarray1[2]+"</IMG>" ;
document.getElementById('ImageContainer').appendChild(TDElement) ;
emptyList=0;
}
} else {
emptyList=1;
}
SElement=document.getElementById('Verbiage')
SElement.innerHTML='<br><font size=2> Use arrows to scroll Models | Click on the Model picture for details</font>'
setStyles();
setIDs();
attachEventhandlers();
if (emptyList == 1)
alert("No Models found,Please try another search.");
}
function setStyles()
{
// set Image Scroller DIVs width Dimensions and position type
document.getElementById('interface').style.position="absolute";
document.getElementById('interface').style.width=InterFaceWidth+"px";
document.getElementById('interface').style.overflow="hidden";
DIVCol=document.getElementById('interface').getElementsByTagName('DIV');
if (DIVCol!=null)
{for (p=0; p<DIVCol.length; p++)
{
DIVCol.item(p).style.position="absolute";
DIVCol.item(p).style.width=InterFaceWidth+"px";
if(DIVCol.item(p).id=="ScrollRight")
{
DIVCol.item(p).style.width=InterFaceWidth-40+"px";
DIVCol.item(p).style.textAlign="right";
}
}
}
document.getElementById('ScrollLeft').style.width=40+"px";
document.getElementById('Verbiage').style.width=InterFaceWidth-80+"px";
// set z-index
document.getElementById('interface').style.zIndex=1;
document.getElementById('ViewingArea').style.zIndex=2;
document.getElementById('controls').style.zIndex=2;
document.getElementById('Verbiage').style.zIndex=5;
document.getElementById('ScrollLeft').style.zIndex=4;
document.getElementById('ScrollRight').style.zIndex=4;
// set positions (left)
document.getElementById('ViewingArea').style.left=0+"px";
document.getElementById('controls').style.left=0+"px";
document.getElementById('ScrollLeft').style.left=2+"px";
document.getElementById('ScrollRight').style.left=38+"px";
document.getElementById('Verbiage').style.left=40+"px";
// set positions (top)
document.getElementById('ViewingArea').style.top=0+"px";
document.getElementById('ScrollLeft').style.top=5+"px";
document.getElementById('ScrollRight').style.top=5+"px";
document.getElementById('controls').style.top=ViewingAreaHeight+2+"px";
// set Image Scroller DIVs height Dimensions
document.getElementById('controls').style.height=35+"px";
document.getElementById('Verbiage').style.height=35+"px";
document.getElementById('ViewingArea').style.height=ViewingAreaHeight+"px";
document.getElementById('interface').style.height=ViewingAreaHeight+35+"px";
// Set Viewer Page position
document.getElementById('interface').style.left= PagePositionLEFT+"px";
document.getElementById('interface').style.top= PagePositionTOP+"px";
// text alignment for controller text
document.getElementById('Verbiage').style.textAlign='center';
// image Viewer Color Scheme
document.getElementById('controls').style.backgroundColor=ControlsBGColor;
document.getElementById('Verbiage').style.color=ControlsFontColor;
document.getElementById('ViewingArea').style.backgroundColor=ViewAreaBGColor;
if(OverALLBorder=='on'){
document.getElementById('interface').style.borderStyle='solid';
document.getElementById('interface').style.borderWidth="1px";
document.getElementById('interface').style.borderColor=OverALLBorderColor;}
// Image Styles
IMGCol=document.getElementById('interface').getElementsByTagName('IMG');
if (IMGCol!=null)
{for (im=0; im<IMGCol.length; im++)
{
IMGCol.item(im).style.borderStyle='solid';
IMGCol.item(im).style.borderWidth="1px";
IMGCol.item(im).style.borderColor=ImageBorderColor;
}
}
// Button Styles
BTNCol=document.getElementById('interface').getElementsByTagName('INPUT');
if (BTNCol!=null)
{for (p=0; p<BTNCol.length; p++)
{
BTNCol.item(p).style.borderStyle='solid';
BTNCol.item(p).style.borderWidth="1px";
BTNCol.item(p).style.backgroundColor=ButtonBGColor;
BTNCol.item(p).style.color=ButtonFontColor;
BTNCol.item(p).style.borderColor=ButtonBorderColor;
}
}
// Table Cell Styles
TDCol=document.getElementById('interface').getElementsByTagName('TD');
if (TDCol!=null)
{for (td=0; td<TDCol.length; td++)
{TDCol.item(td).style.verticalAlign=ImageValignment;}}
}
// ::::::::::::::::::::::::
// ::: Event Handlers ::
// ::::::::::::::::::::::::
function onclickHandler(e)
{
// Browser compatibility code
var targ;
if (!e){var e = window.event;}
if (e.target)
{ targ = e.target;
var xpos=(e.pageX); var ypos=(e.pageY);}
else if (e.srcElement)
{ var xpos=(event.x); var ypos=(event.y);
targ = e.srcElement;}
// Strip file name from image src
var spath=targ.getAttribute('src');
wholePathLength=spath.length;
strippedPathLength=spath.substring(0,spath.lastIndexOf("/")).length;
ifm= spath.substring(strippedPathLength+1,wholePathLength);
// Store file name in holder for use by popup windoow
document.getElementById('fileNameHolder').value=ifm;
// Open the window at location of thumbnail image
var pos = "left="+xpos+",top="+ypos;
window.open("imageViewerPopup.htm","imageWindow","width=18,height=18,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,"+pos);
}
// Attach event handlers to all images within container
function attachEventhandlers()
{
ContainerElement=document.getElementById('ImageContainer')
TDCol=ContainerElement.getElementsByTagName('TD');
if (TDCol!=null)
{for (l=0; l<TDCol.length; l++)
{
IMGCol=TDCol.item(l).getElementsByTagName("IMG");
IMGCol.item(0).style.cursor="pointer"
IMGCol.item(0).setAttribute('id',"Image"+l)
IMGCol.item(0).onclick=onclickHandler;
}
}
}
// Set ID's for all table cells
function setIDs()
{
ContainerElement=document.getElementById('ImageContainer')
TDCol=ContainerElement.getElementsByTagName('TD');
if (TDCol!=null)
{ for (i=0; i<TDCol.length; i++)
{TDCol.item(i).setAttribute('id',i)}
}
}
// :::::::::::::::::::::::::
// ::: Scroll Functions ::
// :::::::::::::::::::::::::
function moveLeft()
{
ContainerElement=document.getElementById("ImageContainer");
firstTD=document.getElementById("0");
dupfirstTD=firstTD.cloneNode(false)
dupfirstTD.innerHTML=firstTD.innerHTML
ContainerElement.removeChild(firstTD);
ContainerElement.appendChild(dupfirstTD);
setStyles; setIDs();attachEventhandlers();
}
function moveRight()
{
lastTD=document.getElementById(TDCol.length-1);
duplastTD=lastTD.cloneNode(false)
duplastTD.innerHTML=lastTD.innerHTML
firstTD=document.getElementById("0");
ContainerElement=document.getElementById("ImageContainer");
ContainerElement.insertBefore(duplastTD,firstTD);
ContainerElement.removeChild(lastTD);
setStyles; setIDs();attachEventhandlers();
}
Comment