| | |
Firefox Compatibility help with script
Please support our JavaScript / DHTML / AJAX advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
Thread Solved |
I want to change Tactics, I want to alter this code
So that it still reduces the images, but instead of opening them in a new window, they expand (floating) in the same window instead, Using the Code below.
I need to assign the reduced images as "ImageExpander"
normally you would write a thumbnail for this code like so
Example of the code above here
http://www.webreference.com/programm.../ImageView.htm
I know I need to Alter this line in the first code both times
but im not sure how.
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
<script type='text/javascript'> <!-- function ResizeThem(){ maxheight=250; maxwidth= 250; imgs=document.getElementsByTagName("img"); for (p=0; p<imgs.length; p++) { if (imgs[p].getAttribute("alt")=="user posted image") { w=parseInt(imgs[p].width); h=parseInt(imgs[p].height); if (parseInt(imgs[p].width)>maxwidth) { imgs[p].style.cursor="pointer"; imgs[p].setAttribute('title','Reduced Image - Click to see full size'); imgs[p].onclick=new Function("iw=window.open(this.src,'ImageViewer','resizable=1,scrollbars=1');iw.focus()"); imgs[p].height=(maxwidth/imgs[p].width)*imgs[p].height; imgs[p].width=maxwidth;} if (parseInt(imgs[p].height)>maxheight) { imgs[p].style.cursor="pointer"; imgs[p].onclick=new Function("iw=window.open(this.src,'ImageViewer','resizable=1,scrollbars=1');iw.focus()"); imgs[p].width=(maxheight/imgs[p].height)*imgs[p].width; imgs[p].height=maxheight;}}}} ResizeThem() //--> </script>
So that it still reduces the images, but instead of opening them in a new window, they expand (floating) in the same window instead, Using the Code below.
I need to assign the reduced images as "ImageExpander"
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
function ImageExpander(oThumb, sImgSrc) { // store thumbnail image and overwrite its onclick handler. this.oThumb = oThumb; this.oThumb.expander = this; this.oThumb.onclick = function() { this.expander.expand(); } // record original size this.smallWidth = oThumb.offsetWidth; this.smallHeight = oThumb.offsetHeight; this.bExpand = true; this.bTicks = false; // self organized list if ( !window.aImageExpanders ) { window.aImageExpanders = new Array(); } window.aImageExpanders.push(this); // create the full sized image. this.oImg = new Image(); this.oImg.expander = this; this.oImg.onload = function(){this.expander.onload();} this.oImg.src = sImgSrc; } ImageExpander.prototype.onload = function() { this.oDiv = document.createElement("div"); document.body.appendChild(this.oDiv); this.oDiv.appendChild(this.oImg); this.oDiv.style.position = "absolute"; this.oDiv.expander = this; this.oDiv.onclick = function() {this.expander.toggle();}; this.oImg.title = "Click to reduce."; this.bigWidth = this.oImg.width; this.bigHeight = this.oImg.height; if ( this.bExpand ) { this.expand(); } else { this.oDiv.style.visibility = "hidden"; this.oImg.style.visibility = "hidden"; } } ImageExpander.prototype.toggle = function() { this.bExpand = !this.bExpand; if ( this.bExpand ) { for ( var i in window.aImageExpanders ) if ( window.aImageExpanders[i] !== this ) window.aImageExpanders[i].reduce(); } } ImageExpander.prototype.expand = function() { // set direction of expansion. this.bExpand = true; // set all other images to reduce for ( var i in window.aImageExpanders ) if ( window.aImageExpanders[i] !== this ) window.aImageExpanders[i].reduce(); // if not loaded, don't continue just yet if ( !this.oDiv ) return; // hide the thumbnail this.oThumb.style.visibility = "hidden"; // calculate initial dimensions this.x = this.oThumb.offsetLeft; this.y = this.oThumb.offsetTop; this.w = this.oThumb.clientWidth; this.h = this.oThumb.clientHeight; this.oDiv.style.left = this.x + "px"; this.oDiv.style.top = this.y + "px"; this.oImg.style.width = this.w + "px"; this.oImg.style.height = this.h + "px"; this.oDiv.style.visibility = "visible"; this.oImg.style.visibility = "visible"; // start the animation engine. if ( !this.bTicks ) { this.bTicks = true; var pThis = this; window.setTimeout(function(){pThis.tick();},25); } } ImageExpander.prototype.reduce = function() { // set direction of expansion. this.bExpand = false; } ImageExpander.prototype.tick = function() { // calculate screen dimensions var cw = document.body.clientWidth; var ch = document.body.clientHeight; var cx = document.body.scrollLeft + cw / 2; var cy = document.body.scrollTop + ch / 2; // calculate target var tw,th,tx,ty; if ( this.bExpand ) { tw = this.bigWidth; th = this.bigHeight; if ( tw > cw ) { th *= cw / tw; tw = cw; } if ( th > ch ) { tw *= ch / th; th = ch; } tx = cx - tw / 2; ty = cy - th / 2; } else { tw = this.smallWidth; th = this.smallHeight; tx = this.oThumb.offsetLeft; ty = this.oThumb.offsetTop; } // move 5% closer to target var nHit = 0; var fMove = function(n,tn) { var dn = tn - n; if ( Math.abs(dn) < 3 ) { nHit++; return tn; } else { return n + dn / 10; } } this.x = fMove(this.x, tx); this.y = fMove(this.y, ty); this.w = fMove(this.w, tw); this.h = fMove(this.h, th); this.oDiv.style.left = this.x + "px"; this.oDiv.style.top = this.y + "px"; this.oImg.style.width = this.w + "px"; this.oImg.style.height = this.h + "px"; // if reducing and size/position is a match, stop the tick if ( !this.bExpand && (nHit == 4) ) { this.oImg.style.visibility = "hidden"; this.oDiv.style.visibility = "hidden"; this.oThumb.style.visibility = "visible"; this.bTicks = false; } if ( this.bTicks ) { var pThis = this; window.setTimeout(function(){pThis.tick();},25); } }
normally you would write a thumbnail for this code like so
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
a href="spike.jpg" onclick="this.href = 'javascript:void(0);';"> <img src="spike_thumb.jpg" title="click to expand." style="float:right;" onclick="new ImageExpander(this, 'spike.jpg');"> </a>
Example of the code above here
http://www.webreference.com/programm.../ImageView.htm
I know I need to Alter this line in the first code both times
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
imgs[p].onclick=new Function("iw=window.open(this.src,'ImageViewer','resizable=1 ,scrollbars=1');iw.focus()");
but im not sure how.
Always carry a flagon of whiskey in case of snakebite and furthermore always carry a small snake.
W. C. Fields
W. C. Fields
If you have the image on a server (whichever), just place the url on the "a" tag...
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
<a href="spike.jpg" onclick="this.href = 'javascript:void(0);';"> <img src="http://www.myserver.com/images/spike_thumb.jpg" title="click to expand." style="float:right;" onclick="new ImageExpander(this, 'http://www.myserver2.com/images/spike.jpg');"> </a>
You keep going, have a Nice day!
Henry.
Before printing this message, make sure is necessary.
Henry.
Before printing this message, make sure is necessary.
Sorry, I have confused this topic by suggesting an entirely different code.
It is the first code i posted that I wish to use, parsing the image url to a custom page on a new server.
please disregard post #11
It is the first code i posted that I wish to use, parsing the image url to a custom page on a new server.
please disregard post #11
Always carry a flagon of whiskey in case of snakebite and furthermore always carry a small snake.
W. C. Fields
W. C. Fields
•
•
•
•
How can parse an img url as query string to insert an image into a window on another domain?
If you own the other domain, then you can have PHP display the image by crafting a URL that tells it the image to display and dimensions.
www.fijiwebdesign.com - web design and development and fun
Cpanel Email - Let users Register email accounts on your website upon registration
Ajax Chat - Fully browser based chat!
Cpanel Email - Let users Register email accounts on your website upon registration
Ajax Chat - Fully browser based chat!
![]() |
Other Threads in the JavaScript / DHTML / AJAX Forum
- Previous Thread: Writing To div. Why wont this work?
- Next Thread: Keep sub-window on top of main window
| Thread Tools | Search this Thread |
Tag cloud for JavaScript / DHTML / AJAX
ajax ajaxexample ajaxjspservlets array autoplay blackjack browser captchaformproblem checkbox child class close codes date debugger dependent developer disablefirebug dom editor element embed engine events explorer ext file firefox flash form forms game gears getselection google gxt hiddenvalue highlightedword hint html ie7 ie8 iframe internet java javascript javascripthelp2020 jquery jsf jsfile jsp jump libcurl maps marquee masterpage math matrixcaptcha media mysql object onerror onmouseoutdivproblem onreadystatechange parent passing paypal pdf php player position post programming rated redirect runtime safari scriptlets scroll search security session shopping size software solutions star stars stretch synchronous toggle tweet unicode variables web webkit webservice window wysiwyg \n






