Solved

Load an iFrame and a separate image

Posted on 2004-10-11
8
1,147 Views
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: http://www.3doubleu.co.uk/test/

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,

John
0
Comment
Question by:john-formby
  • 5
  • 3
8 Comments
 
LVL 2

Expert Comment

by:DullsVillager
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; }
</script>

(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.
0
 
LVL 2

Expert Comment

by:DullsVillager
ID: 12278438
PS:

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.
0
 
LVL 14

Author Comment

by:john-formby
ID: 12279443
Hi,
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 :-(


John
0
 
LVL 2

Expert Comment

by:DullsVillager
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.
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 14

Author Comment

by:john-formby
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.

John
0
 
LVL 2

Accepted Solution

by:
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) { window.top.document.images['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)
etc.
0
 
LVL 14

Author Comment

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

John
0
 
LVL 2

Expert Comment

by:DullsVillager
ID: 12286304
Thank you, sir!
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

This article shows how to create and access 2-dimensional arrays in JavaScript.  It includes a tutorial in case you are just trying to "get your head wrapped around" the concept and we'll also look at some useful tips for more advanced programmers. …
This article discusses how to create an extensible mechanism for linked drop downs.
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…

708 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now