Load an iFrame and a separate image

Posted on 2004-10-11
Last Modified: 2008-03-06
Hello all,

I am designing a site which uses an iFrame to show the links that the user clicks.  What I also want to happen is to load an image with the page title that is separate to the iFrame.  I don't think I have explained this very well, so it might be better to visit my site at: 

Where it says the 'About' title, I want this to change to another image saying 'Photos' if someone clicks on that link.  If you want me to post the code for any pages then thats no problem.  I would just like to say that I am very new to JavaScript, and if you could put any explanation in idiot language that would be great :-)

Many thanks in advance,

Question by:john-formby
  • 5
  • 3

Expert Comment

ID: 12278409
Give it a name:
<img src="images/pagetitle.jpg" alt="" name="pagetitle" />

Then you can use JavaScript to replace the picture when you click the link:
document.images['pagetitle'].src = "images/aboutpage.jpg";

This will replace images/pagetitle.jpg with images/aboutpage.jpg with JavaScript

To do the same on many links, try this:
(this part goes in your HEAD section)
<script language="JavaScript">
function FixTitle (x) { document.images['pagetitle'].src = x; }

(and this goes in each link)
<a href="about.html" target="LeftIframe" onclick="FixTitle('images/aboutpage.jpg')">

So you have about.html as your page, LeftIframe as your target, and FixTitle() to replace your image.

Expert Comment

ID: 12278438

In "idiot language": When the user clicks the link to load a new page, they run this FixTitle whats-a-ma-jig.  FixTitle changes the picture at the top, and it knows how to find that picture by its name (pagetitle).

It's literally saying
document (this page)
dot images (the images on this page)
['pagetitle']  (the specific image)
dot src (the source of the image)
equals x (stick X in place of the image on the page, where X is whatever you tell it to use)

In this case, FixTitle('images/aboutpage.jpg') will put aboutpage.jpg in place of pagetitle.jpg.
LVL 14

Author Comment

ID: 12279443
Thanks for your help.  I have tried entering the code for many links and have created and uploaded all images and index.html.  Unfortunately though, it won't work?  When I click on a link, it  won't load the image :-(

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.


Expert Comment

ID: 12279881
Let me try a couple things tonight, I think it might be loading the page before it gets to the FixTitle part, that could be what's not working.
LVL 14

Author Comment

ID: 12280087
Sorry to be a problem, but it also needs to loads the correct title when the site first loads.  E.g. if the visitor enters at the index page, the abouttitle.jpg image should be loaded.  If they enter the site through one of the other pages the correct page title needs to be loaded for that page.


Accepted Solution

DullsVillager earned 500 total points
ID: 12281023
Might be able to do it onload then... instead of when they click, do it when the new mini-page is loaded.

See if this will work, undo the old ones:

in the mini-page for About, your BODY tag should look like this:
<body onselectstart="return false;" onload="FixTitle('images/aboutpage.jpg')">

Then stick the FixTitle script in the HEAD section as above, but use this instead:
function FixTitle (x) {['pagetitle'].src = x; }

This says:
ONLOAD (when the mini-page loads),
window (current window, a.k.a. mini-page a.k.a. LeftIframe)
dot top (parent window, aka main window)
dot document (the document..... as above)
LVL 14

Author Comment

ID: 12281361
Hi, that works brilliantly.  Thanks very much for all your help :-)  You deserve every one of these points.


Expert Comment

ID: 12286304
Thank you, sir!

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In this article, we'll look how to sort an Array in JavaScript, including the more advanced techniques of sorting a collection of records either ascending or descending on two or more fields. Basic Sorting of Arrays First, let's look at the …
Article by: DanRollins
This article describes a JavaScript program that creates a maze made of hexagonal cells.  In Part 2 (, we'll extend the program by adding a depth-…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

805 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question