Use onLoad function to 'jump' to an internal section (bookmark) on the page.

Hello,

If I had a HTML page like the following:

<html>
<head>
</head>
<body>
<table height="100">
  <tr>
    <td>blah blah</td>
  </tr>
</table>
<table>
  <tr>
    <td><a name="image"></a><img src="/images/image.jpg" border="0"></td>
  </tr>
</table>
</body>
</html>

How would I use JavaScript to cause the page to 'jump' down to the image when the page loads? Hopefully my question makes sence ;)

Thanks,
Eric
emartin24Asked:
Who is Participating?
 
thirdCommented:
try this,

<html>
<head>
</head>
<body onload="window.location='#image';">
<table height="100">
  <tr>
    <td>blah blah</td>
  </tr>
</table>
<br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br>
<table>
  <tr>
    <td><a  name="image"></a><img src="/images/image.jpg" border="0"></td>
  </tr>
</table>
</body>
</html>
0
 
sybeCommented:
not sure if this will work for all browsers.

<body onload="document.anchors['image'].focus();">
0
 
XxavierCommented:
  Why not just use anchors  ie the page is called with mypage.htm#image. Or on the onload event put document.location=mypage.htm#image which will scroll down when the page is opened as just mypage.htm
0
Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

 
NushiCommented:
i must agree with the last comment:

use onload="document.location.replace('mypage.htm#image')";
this is the best solution.


Nushi.
0
 
devicCommented:
with scroollTo too:
===============================
<body onload=scrollTo(0,1500)>
0
 
superslamwichCommented:
except that onload="document.location.replace('mypage.htm#image') will create an infinite loop of loading and reloading the page.  Use this instead:

<script type='text/javascript'>
<!--
if(document.location.search=="")  {
  document.location.replace(document.location + "#myimage")
}
//-->
</script>


{Slam}
0
 
superslamwichCommented:
Whoops, cancel that comment.  If you use an you won't create the loop...
0
 
superslamwichCommented:
*If you use an anchor you won't create the loop
0
 
emartin24Author Commented:
I will try some of the solutions mentioned. Maybe I should have mentioned this before ;), but the reason I don't load the page with mypage.htm#image is because the output is coming from a CGI script.

So the URL is:
http://www.mysite.com/cgi-bin/myprogram.cgi?image=myimage.jpg

I do not think that it works to use:
http://www.mysite.com/cgi-bin/myprogram.cgi?image=myimage.jpg#image

Which is why I was thinking I could use javascript to have the page go directly to the image when it loads. And the reason for this is to prevent having to scroll down to see the image.

Thanks.
0
 
emartin24Author Commented:
third's suggestion did the trick, so I have accepted his answer. Thank you all for your contributions.

Thanks,
Eric
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.