Connecting Tech Pros Worldwide Help | Site Map

Images in toolbar don't load first time

 
LinkBack Thread Tools Search this Thread
  #1  
Old July 23rd, 2005, 07:52 PM
John
Guest
 
Posts: n/a
Default Images in toolbar don't load first time

Hi,

I need assistance with a toolbar class that I created. The code is below.

When I mouse over and mouse out, the images act correctly and look good.
They also load correctly when I navigate away and then back to the page in
question. However, if I shut down IE and go the the page (or refresh the
page), most of the images won't show up.

Any help is appreciated.

Thanks,
John

function CToolbar(strParent)
{
var _self=this;
var _strParentElementID = strParent;
var _aButtons = new Array();

this.addButton = function(newButton)
{
newButton.setToolbar(this);
_aButtons.push(newButton);
}

this.addDivider = function()
{
var newDivider= new CDivider();

_aButtons.push(newDivider);
}

this.initializeToolbar = function()
{
var parentElement = document.getElementById(_strParentElementID);

for (buttonIdx in _aButtons)
{
_aButtons[buttonIdx].appendImg(parentElement);
_aButtons[buttonIdx].initializeButton();
}

}

this.resetGroup = function(strGroupName)
{
for (buttonIdx in _aButtons)
{
_aButtons[buttonIdx].resetByGroup(strGroupName);
}
}
}

function CDivider()
{
var _imgDivider = new Image();
_imgDivider.src="./images/divider.gif";

this.getImgNode = function()
{
var newImg = document.createElement("img");
newImg.src = _imgDivider.src;
newImg.style.verticalAlign = "middle";
return newImg;
}

this.initializeButton = function()
{

}

this.resetByGroup = function(strGroupName)
{

}

this.appendImg = function(parentElement)
{
parentElement.appendChild(this.getImgNode());

}
}

function CButton(strName,
strDefaultSrc,
strMouseOverSrc,
strMouseDownSrc,
strPressedSrc,
strPressFunction,
strUnpressFunction)
{
var _self = this;
var _toolbar = "";
var _strName = strName;
var _state = "eUnpressed";
var _strOpposedGroup = "";

var _bIsSticky = "TRUE";
if (strUnpressFunction=="") _bIsSticky = "FALSE";

var _imgDefault = new Image();
_imgDefault.src=strDefaultSrc;

var _imgMouseOver = new Image();
_imgMouseOver.src=strMouseOverSrc;

var _imgMouseDown = new Image();
_imgMouseDown.src=strMouseDownSrc;

var _imgPressed = new Image();
_imgPressed.src = strPressedSrc;

var _pressCall = new Function(strPressFunction + "()");


var _unpressCall = "";


if (strUnpressFunction!="") _unpressCall = new Function(strUnpressFunction
+ "()");

this.mouseDown = function()
{
var currentImage = document.getElementById(_strName);

// Set image
currentImage.src=_imgMouseDown.src;
}

this.mouseUp = function()
{
// Detemine state
var currentImage = document.getElementById(_strName);

if (_bIsSticky == "TRUE")
{
if(_state!="ePressed")
{
if (_strOpposedGroup != "")
{
_toolbar.resetGroup(_strOpposedGroup);
}

currentImage.src=_imgPressed.src;
_state = "ePressed";
_pressCall();
}
else
{
if (_strOpposedGroup == "")
{
currentImage.src=_imgMouseOver.src;
_state = "eUnpressed";
_unpressCall();
}
}

}
else
{
currentImage.src=_imgMouseOver.src;
_pressCall();
}
}

this.mouseOver = function mouseOver ()
{
var currentImage = document.getElementById(_strName);

if (currentImage.src!=_imgPressed.src) currentImage.src=_imgMouseOver.src;
}

this.mouseOut = function()
{
var currentImage = document.getElementById(_strName);

if (currentImage.src!=_imgPressed.src) currentImage.src=_imgDefault.src;
}

this.getName = function()
{
return _strName;
}

this.getDefaultImageSrc = function()
{
return _imgDefault.src;
}

this.initializeButton = function()
{
var currentImage = document.getElementById(this.getName());
currentImage.src =this.getDefaultImageSrc();
currentImage.onmouseout = this.mouseOut;
currentImage.onmouseover = this.mouseOver;
currentImage.onmousedown = this.mouseDown;
currentImage.onmouseup = this.mouseUp;

}

this.getImgNode = function()
{
var newImg = document.createElement("img");
newImg.id=this.getName();
newImg.style.verticalAlign = "middle";
return newImg;
}

this.appendImg = function(parentElement)
{
//_toolbar = toolbar;
parentElement.appendChild(this.getImgNode());

}

this.setToolbar = function(toolbar)
{
_toolbar = toolbar;
}

this.setOpposedGroup = function(strGroupName)
{
_strOpposedGroup = strGroupName;
}

this.resetByGroup = function(strGroupName)
{
if (strGroupName == _strOpposedGroup && _state == "ePressed")
{
var currentImage = document.getElementById(_strName);
currentImage.src=_imgDefault.src;
_state = "eUnpressed";
_unpressCall();
}
}

this.setOpposedGroup = function(strGroupName)
{
_strOpposedGroup = strGroupName;
}

}

}



 

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 220,989 network members.