Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


Load an iFrame and a separate image

Posted on 2004-10-11
Medium Priority
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
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 :-(

Build and deliver software with DevOps

A digital transformation requires faster time to market, shorter software development lifecycles, and the ability to adapt rapidly to changing customer demands. DevOps provides the solution.


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 2000 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

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Question has a verified solution.

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

Introduction HTML checkboxes provide the perfect way for a web developer to receive client input when the client's options might be none, one or many.  But the PHP code for processing the checkboxes can be confusing at first.  What if a checkbox is…
The task A number given should be formatted for easy reading by separating digits into triads. Format must be made inline via JavaScript, i.e., frameworks / functions are not welcome. So let’s take a number like this “12345678.91¿ and format i…
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…

670 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