Menu
[url]http://domscripting.com/domsters/photos.html
How can I modify this photo gallery script to accomodate a more detailed list and not just pull text from the title attribute?
... allow some basic HTML within the title attribute or is that totally pointless.[/QUOTE]
var captionArray = new Array(
"This is <b>caption</b> #1.",
"This is <b>caption</b> #2.",
"This is <b>caption</b> #3."
); // no comma after last element above
<div id="largeImage"></div>
<div id="captionArea"></div>
onclick="
var str = '<img src="...url..." alt="" border=0>';
document.getElementById('largeImage').innerHTML = str;
document.getElementById('captionArea').innerHTML = captionArray[0];
return true;"
Here is an example of an image gallery done in pure CSS.Pretty cool CSS example. I was real excited until I relealized I was using Firefox and it would not work in IE ?
http://demos.klproductions.com/sandbox/cssgallery.html
You can make it work in IE by adding a few lines of JScript behavior similar to the one explained here:http://www.vladdy.net/Demos/IEPseudoClassesFix.html [/QUOTE]
How can I modify this photo gallery script to accomodate a more detailed list and not just pull text from the title attribute?[/QUOTE]Assuming you're grabbing the location for the image from the href attribute of the anchor, why not grab the location for some text from the longdesc attribute of the image. That [i]is[/i] what it's there for afterall.
Assuming you're grabbing the location for the image from the href attribute of the anchor, why not grab the location for some text from the longdesc attribute of the image.[/QUOTE]
Because you can't include HTML in the longdesc attribute.[/QUOTE]Isn't longdesc a URL?
Isn't longdesc a URL?
Question: Does anyone know of a browser that actually supports longdesc?[/QUOTE]
[code=html]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Dom Gallery</title>
<script type="text/javascript">
var initImageGallery = function () {
var gallery = document.getElementById("imageGallery");
//
var thumbs = document.getElementById("thumbs");
var imageList = document.getElementById("imageList");
//
var view = document.getElementById("view");
var viewDesc = document.getElementById("viewDesc");
var viewImage = document.getElementById("viewImage");
var fullImage = document.createElement("img");
fullImage.setAttribute("id", "fullImage");
// nodes to be deleted array
var delNodes = new Array();
for (var i=0; i<imageList.childNodes.length; i++) {
var listNode = imageList.childNodes[i];
if (listNode.nodeName.toLowerCase() == "dt") {
// link
var thumb = listNode.firstChild;
thumb.src = thumb.getAttribute("href").replace(".", "_thumb.");
thumb.setAttribute("title", thumb.firstChild.nodeValue);
// create desc dl
thumb.desc = document.createElement("dl");
//
thumb.dt = document.createElement("dt");
thumb.dt.appendChild(document.createTextNode(thumb.title));
thumb.desc.appendChild(thumb.dt);
// add thumbnail image
thumb.image = document.createElement("img");
thumb.image.className = "thumbnail";
thumb.image.setAttribute("src", thumb.src);
thumb.image.setAttribute("title", thumb.title);
thumb.image.setAttribute("alt", thumb.title);
// replace link text with the image
thumb.replaceChild(thumb.image, thumb.firstChild)
thumb.onclick = function () {
// there is no image in viewImage div
if (!document.getElementById("fullImage")) {
// then add fullImage there
viewImage.appendChild(fullImage);
}
// change fullImages src and title
fullImage.setAttribute("src", this.getAttribute("href"));
fullImage.setAttribute("title", this.getAttribute("title"));
// if description dl exists
if (viewDesc.getElementsByTagName("dl").length != 0) {
// remove it
viewDesc.removeChild(viewDesc.getElementsByTagName("dl")[0]);
}
viewDesc.appendChild(this.desc);
return false;
};
} else if (listNode.nodeName.toLowerCase() == "dd") {
// add dd's
var tempNode = listNode.cloneNode(true);
thumb.desc.appendChild(tempNode);
// add listNode to the delNodes array
// and remove it later
delNodes.push(listNode);
};
};
// remove nodes (dds from imageList dl)
for (var k in delNodes) {
imageList.removeChild(delNodes[k]);
}
// put the last image and descriptions in place
thumb.onclick();
};
window.onload = function () {
initImageGallery();
}
</script>
<style type="text/css">
* {margin: 0; padding: 0; border: none;}
body { font-family:Arial, Helvetica, sans-serif; font-size:1em; background:#000; color:#9f9f9f;}
#imageGallery {}
#thumbs { width: 40%; float:left;}
#thumbs dl { margin: 20px;}
#thumbs dt {}
#thumbs dd {}
#thumbs .thumbnail { margin: 4px; padding:4px; background:#313133; float: left;}
#view { width: 60%; float:left;}
#viewDesc { }
#viewDesc dl { margin: 20px;}
#viewDesc dt { font-size:1.1em; font-weight:bold;}
#viewDesc dd {}
#viewImage { }
#viewImage #fullImage { padding:15px; background:#313133;}
h1 {margin: 20px; text-transform:uppercase; font-size:1.2em; color:#5cdd83;}
</style>
</head>
<body>
<div id="imageGallery">
<div id="thumbs">
<h1>Thumbnails</h1>
<dl id="imageList">
<dt><a href="image001.jpg">Image 001</a></dt>
<dd>Description of Image 001 1</dd>
<dd>Description of Image 001 2</dd>
<dd>Description of Image 001 3</dd>
<dd>Description of Image 001 4</dd>
<dt><a href="image002.jpg">Image 002</a></dt>
<dd>Description of Image 002 1</dd>
<dd>Description of Image 002 2</dd>
<dt><a href="image003.jpg">Image 003</a></dt>
<dd>Description of Image 003 1</dd>
<dd>Description of Image 003 2</dd>
<dd>Description of Image 003 3</dd>
<dt><a href="image004.jpg">Image 004</a></dt>
<dd>Description of Image 004 1</dd>
</dl>
</div>
<div id="view">
<div id="viewDesc">
<h1>Title and description</h1>
</div>
<div id="viewImage">
<h1>Artwork</h1>
</div>
</div>
</div>
</body>
</html>
[/code]
<i>
</i>} else if (listNode.nodeName.toLowerCase() == "dd") {
// add dd's
var tempNode = listNode.cloneNode(true);
thumb.desc.appendChild(tempNode);
// add listNode to the delNodes array
// and remove it later
delNodes.push(listNode);
};
<i>
</i>delNodes.push(listNode);
<i>
</i>delNodes[delNodes.length]=listNode;
<i>
</i>thumb.replaceChild(thumb.image, thumb.firstChild);
0.1.9 — BETA 5.2