# Xml gallery with image tooltip description

**URL:** <https://forum.kirupa.com/t/xml-gallery-with-image-tooltip-description/235862>\
**Category:** Uncategorized\
**Created:** [August 15, 2007, 11:49am UTC](https://forum.kirupa.com/t/xml-gallery-with-image-tooltip-description/235862 "2007-08-15T11:49:39Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![oxyde\_mac\_com](https://avatars.discourse-cdn.com/v4/letter/o/7c8e57/32.png) [@oxyde\_mac\_com](https://forum.kirupa.com/u/oxyde_mac_com)\
**Post date:** [August 15, 2007, 11:49am UTC](https://forum.kirupa.com/t/xml-gallery-with-image-tooltip-description/235862/1 "2007-08-15T11:49:39Z")

</div>

Hi,  
I have having 2 issues on a xml gallery:  
1-i’m trying to create a description for each image loaded by xml. when the mouse rollover the picture i would like to have a big tooltip like or a animated window where i can insert a  
long description.

2-i would like to have my menu to open an html page in \_self when click on a button

i’ve been trying for a long time but can’t find the solution.  
can someone help please,

cheers

here the code

//----------------------------------------------------------------  
var tnNr;  
spacing = 10;  
container.\_alpha = 0;  
var curLength;  
MovieClip.prototype.loadPic = function(pic, id) {  
info.text = “”;  
this.\_alpha = 0;  
this.loadMovie(pic);  
temp = this.\_parent.createEmptyMovieClip(“temp2”, 998);  
temp.onEnterFrame = function() {  
var t = container.getBytesTotal(), l = container.getBytesLoaded();  
if (Math.round(l/t) == 1 && container.\_width != 0 && container.\_height != 0) {  
var w = container.\_width+spacing, h = container.\_height+spacing;  
border.resizeMe(w, h, id);  
delete this.onEnterFrame;  
}  
};  
};  
MovieClip.prototype.resizeMe = function(w, h, id) {  
var speed = 3;  
container.\_alpha = 0;  
this.onEnterFrame = function() {  
this.\_width += (w-this.\_width)/speed;  
this.\_height += (h-this.\_height)/speed;  
if (Math.abs(this.\_width-w)\<1 && Math.abs(this.\_height-h)\<1) {  
this.\_width = w;  
this.\_height = h;  
container.\_x = this.\_x-this.\_width/2+spacing/2;  
container.\_y = this.\_y-this.\_height/2+spacing/2;  
info.\_y = Math.round(this.\_y+this.\_height/2+spacing/2);  
container.\_alpha += 5;  
if (container.\_alpha\>90) {  
info.text = id;  
container.\_alpha = 100;  
delete this.onEnterFrame;  
}  
}  
};  
};  
function galleryChoice(q) {  
pArray = new Array();  
tArray = new Array();  
iArray = new Array();  
my\_xml = new XML();  
for (var j = 0; j\<curLength; j++) {  
this.scroll.th\_nav[“thmb”+j].removeMovieClip();  
}  
my\_xml.ignoreWhite = true;  
my\_xml.onLoad = function(loaded) {  
if (loaded) {  
gallery = this.firstChild.childNodes[q];  
curLength = gallery.childNodes.length;  
for (var i = 0; i\<gallery.childNodes.length; i++) {  
pArray.push(gallery.childNodes\*.attributes.source);  
tArray.push(gallery.childNodes\*.attributes.thumb);  
iArray.push(gallery.childNodes\*.attributes.title);  
}  
}  
delay = setInterval(makeButtons, 50);  
};  
my\_xml.load(“xml/home\_contestants.xml”);  
}  
function makeButtons() {  
tnNr = 0;  
clearInterval(delay);  
for (var i = 0; i\<tArray.length; i++) {  
var thb = scroll.th\_nav.thmb.duplicateMovieClip(“thmb”+i, 1000+i);  
thb.id = i;  
thb.\_x = i%3\*50;  
thb.\_y = Math.floor(i/3)\*50;  
}  
loadButtons();  
}  
function loadButtons() {  
var tbox = scroll.th\_nav[“thmb”+tnNr].box;  
tbox.loadMovie(tArray[tnNr]);  
temp = this.createEmptyMovieClip(“tmp”+tnNr, 999);  
temp.onEnterFrame = function() {  
bt = tbox.getBytesTotal();  
bl = tbox.getBytesLoaded();  
if (bt == bl && bt\>4) {  
nextButton();  
delete this.onEnterFrame;  
}  
};  
}  
function nextButton() {  
if (tnNr\<tArray.length-1) {  
tnNr++;  
loadButtons();  
} else {  
activateButtons();  
}  
}  
function activateButtons() {  
mainButtons();  
for (var i = 0; i\<pArray.length; i++) {  
var but = scroll.th\_nav[“thmb”+i];  
but.id = i;  
but.onRelease = function() {  
getURL("(pArray[this.id])", “\_blank”);

```
	tArray[this.id].onRollOver = function() {
/ **with html enabled** /
this.myTip.html = true
this.myTip.text = "iArray[this.id]";

// show tip, interval, should follow mouse
this.myTip.show(500, true);

```

}  
tArray[this.id].onRollOut = function() {  
this.myTip.hide(300)

```
	};
}
}
container.loadPic(pArray[0], iArray[0]);
disButtons2(0);

```

}  
butArray = new Array();  
butArray = [“gal1\_btn”, “gal2\_btn”, “gal3\_btn”, “gal4\_btn”];  
function mainButtons() {  
for (var i = 0; i\<butArray.length; i++) {  
this[butArray\*].id = i;  
this[butArray\*].onRelease = function() {  
galleryChoice(this.id);  
disButtons(this.id);  
};  
}  
}  
function disButtons2(d) {  
for (var i = 0; i\<tArray.length; i++) {  
if (i != d) {  
this.scroll.th\_nav[“thmb”+i].enabled = 1;  
this.scroll.th\_nav[“thmb”+i].box.\_alpha = 100;  
} else {  
this.scroll.th\_nav[“thmb”+i].enabled = 0;  
this.scroll.th\_nav[“thmb”+i].box.\_alpha = 50;  
}  
}  
}  
function disButtons(d) {  
for (var i = 0; i\<butArray.length; i++) {  
if (i != d) {  
this[butArray\*].enabled = 1;  
this[butArray\*].gotoAndStop(1);  
} else {  
this[butArray\*].enabled = 0;  
this[butArray\*].gotoAndStop(2);  
}  
}  
}  
disButtons(0);  
galleryChoice(0);

//----------------------------------------------------------------
