1) Script Title:
Image Thumbnail viewer II
plus
Lightbox v2.03.3
2) Script URL (on DD):
http://www.dynamicdrive.com/dynamici...thumbnail2.htm
and
http://www.huddletogether.com/projects/lightbox2/
3) Describe problem:
Thanks before for your cool script Image Thumbnail viewer II that works fine, I love it!
I tried to integrate it with latest version of Lightbox in this way:
http://84.233.163.172/testgallery/
Image Thumbnail viewer II (modified) shows the medium images in "loadarea div"
and then clicking on the loaded image, Lightbox shows its enlargement.
It seems to work with IE6 and IE7 but using FF (PC version), I have a broken css on first enlargement (only) of image 2 or 3 (where Image Thumbnail viewer II initialize Lightbox).
Image Thumbnail viewer II (modified):
Code:// ------------------------------------------------------------------- // Image Thumbnail Viewer II- By Dynamic Drive, available at: http://www.dynamicdrive.com // Last updated: Feb 5th, 2007 // ------------------------------------------------------------------- var thumbnailviewer2={ enableTitle: true, //Should "title" attribute of link be used as description? enableTransition: true, //Enable fading transition in IE? hideimgmouseout: false, //Hide enlarged image when mouse moves out of anchor link? (if enlarged image is hyperlinked, always set to false!) /////////////No need to edit beyond here///////////////////////// iefilterstring: 'progid:DXImageTransform.Microsoft.GradientWipe(GradientSize=1.0 Duration=0.7)', //IE specific multimedia filter string iefiltercapable: document.compatMode && window.createPopup? true : false, //Detect browser support for IE filters preloadedimages:[], //array to preload enlarged images (ones set to display "onmouseover" targetlinks:[], //array to hold participating links (those with rel="enlargeimage:initType") alreadyrunflag: false, //flag to indicate whether init() function has been run already come window.onload loadimage:function(linkobj){ var imagepath=linkobj.getAttribute("href") //Get URL to enlarged image var showcontainer=document.getElementById(linkobj.getAttribute("rev").split("::")[0]) //Reference container on page to show enlarged image in var dest=linkobj.getAttribute("rev").split("::")[1] //Get URL enlarged image should be linked to, if any var description=(thumbnailviewer2.enableTitle && linkobj.getAttribute("title"))? linkobj.getAttribute("title") : "" //Get title attr var imageHTML='<img src="'+imagepath+'" style="border-width: 0" />' //Construct HTML for enlarged image if (typeof dest!="undefined") //Hyperlink the enlarged image? imageHTML='<a href="'+dest+'" rel="lightbox" title="'+description+'">'+imageHTML+'</a>' //if (description!="") //Use title attr of the link as description? //imageHTML+='<br />'+description if (this.iefiltercapable){ //Is this an IE browser that supports filters? showcontainer.style.filter=this.iefilterstring showcontainer.filters[0].Apply() } showcontainer.innerHTML=imageHTML initLightbox() //Initialize Lightbox this.featureImage=showcontainer.getElementsByTagName("img")[0] //Reference enlarged image itself this.featureImage.onload=function(){ //When enlarged image has completely loaded if (thumbnailviewer2.iefiltercapable) //Is this an IE browser that supports filters? showcontainer.filters[0].Play() } this.featureImage.onerror=function(){ //If an error has occurred while loading the image to show if (thumbnailviewer2.iefiltercapable) //Is this an IE browser that supports filters? showcontainer.filters[0].Stop() } }, hideimage:function(linkobj){ var showcontainer=document.getElementById(linkobj.getAttribute("rev").split("::")[0]) //Reference container on page to show enlarged image in showcontainer.innerHTML="" }, cleanup:function(){ //Clean up routine on page unload if (this.featureImage){this.featureImage.onload=null; this.featureImage.onerror=null; this.featureImage=null} this.showcontainer=null for (var i=0; i<this.targetlinks.length; i++){ this.targetlinks[i].onclick=null this.targetlinks[i].onmouseover=null this.targetlinks[i].onmouseout=null } }, addEvent:function(target, functionref, tasktype){ //assign a function to execute to an event handler (ie: onunload) var tasktype=(window.addEventListener)? tasktype : "on"+tasktype if (target.addEventListener) target.addEventListener(tasktype, functionref, false) else if (target.attachEvent) target.attachEvent(tasktype, functionref) }, init:function(){ //Initialize thumbnail viewer script this.iefiltercapable=(this.iefiltercapable && this.enableTransition) //True or false: IE filters supported and is enabled by user var pagelinks=document.getElementsByTagName("a") for (var i=0; i<pagelinks.length; i++){ //BEGIN FOR LOOP if (pagelinks[i].getAttribute("rel") && /enlargeimage:/i.test(pagelinks[i].getAttribute("rel"))){ //Begin if statement: Test for rel="enlargeimage" var initType=pagelinks[i].getAttribute("rel").split("::")[1] //Get display type of enlarged image ("click" or "mouseover") if (initType=="mouseover"){ //If type is "mouseover", preload the enlarged image for quicker display this.preloadedimages[this.preloadedimages.length]=new Image() this.preloadedimages[this.preloadedimages.length-1].src=pagelinks[i].href pagelinks[i]["onclick"]=function(){ //Cancel default click action return false } } pagelinks[i]["on"+initType]=function(){ //Load enlarged image based on the specified display type (event) thumbnailviewer2.loadimage(this) //Load image return false } if (this.hideimgmouseout) pagelinks[i]["onmouseout"]=function(){ thumbnailviewer2.hideimage(this) } this.targetlinks[this.targetlinks.length]=pagelinks[i] //store reference to target link } //end if statement } //END FOR LOOP } //END init() function } if (document.addEventListener) //Take advantage of "DOMContentLoaded" event in select Mozilla/ Opera browsers for faster init thumbnailviewer2.addEvent(document, function(){thumbnailviewer2.alreadyrunflag=1; thumbnailviewer2.init()}, "DOMContentLoaded") //Initialize script on page load else if (document.all && document.getElementsByTagName("a").length>0){ //Take advantage of "defer" attr inside SCRIPT tag in IE for instant init thumbnailviewer2.alreadyrunflag=1 thumbnailviewer2.init() } thumbnailviewer2.addEvent(window, function(){if (!thumbnailviewer2.alreadyrunflag) thumbnailviewer2.init()}, "load") //Default init method: window.onload thumbnailviewer2.addEvent(window, function(){thumbnailviewer2.cleanup()}, "unload")
I'm still new to JS so any help would be greatly appreciated!
Alex.



Reply With Quote
Bookmarks