CodingForums.com

CodingForums.com (http://www.codingforums.com/index.php)
-   JavaScript programming (http://www.codingforums.com/forumdisplay.php?f=2)
-   -   Multiple random link generators on one page (http://www.codingforums.com/showthread.php?t=230583)

oliarcher 06-28-2011 12:21 AM

Multiple random link generators on one page
 
Hi, I'm currently trying to incorporate several random link generators on one page, each with different links to be directed to. However, at the minute all the links just direct me to the URLs of the most recent random link to be created. If someone could point me in the right direction to fixing this that would be great! The code I am currently using is:


Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<script type="text/javascript">
var movie=new Array()
movie[0]="http://bringbacktheoc.weebly.com"
movie[1]="http://allaboutkarl.weebly.com"
movie[2]="http://recipeshareonline.weebly.com"

function randomLinks(elem)
{
        var randomLink=Math.floor(Math.random()*2);
        elem.href=movie[randomLink];
        elem.target = "_blank";
}
</script>
<a href="#" onclick="randomLinks(this)"<p><font size="20" > 1 </font><p> </a>
</body>
</html>

Thanks!

jmrker 06-28-2011 02:22 AM

Huh? ...
 
Quote:

Originally Posted by oliarcher (Post 1106223)
Hi, I'm currently trying to incorporate several random link generators on one page, each with different links to be directed to. However, at the minute all the links just direct me to the URLs of the most recent random link to be created. If someone could point me in the right direction to fixing this that would be great! The code I am currently using is:

...

Your request is not very clear.

You only have 3 possible links to go to randomly.
With so few links to go to, you will have a 33% chance of going to the same link each time you click the link. That is just the nature of the random function.

Are you trying to randomly go to a different link when you click on one of the 3 links available? Is that what you are trying to accomplish? Are you trying to guarantee that the 3 links will go to a random URL one time before repeating a random sequence again?

oliarcher 06-28-2011 10:31 AM

Sorry about the confusing request, I'm a bit of a novice I'm afraid. I literally just mean I want several different random links on one page.

e.g.
Link 1 --> RandomURL A
RandomURL B
RandomURL C

Link 2 --> RandomURL D
RandomURL E
RandomURL F

etc.

At the minute using that code all that happens is that all the links direct to whichever code I input most recently. So for the above example, Link 1 would still direct to RandomURLs D, E and F. Just wondering if there was something I could do to rectify this?

jmrker 06-28-2011 03:21 PM

Something to try...
 
Try this:
Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<script type="text/javascript">
var movie = [
    "http://bringbacktheoc.weebly.com",
    "http://allaboutkarl.weebly.com",
    "http://recipeshareonline.weebly.com"  // No comma after last entry
];
var forums = [
    "http://www.webdeveloper.com",
    "http://www.codingforums.com",
    "http://www.wdroom.com",
    "http://dreamincode.net"  // No comma after last entry
];
function randomLinks(elem, tarr) {
  var randomLink=Math.floor(Math.random()*tarr.length);
// alert(tarr[randomLink]);  // for testing purposes only
  elem.href = tarr[randomLink];
  elem.target = "_blank";
}
</script>
<a href="javascript:void(0)"
 onclick="randomLinks(this,movie)" style="font-size:2em"> Movie </a>
<p>
<a href="javascript:void(0)"
 onclick="randomLinks(this,forums)" style="font-size:2em"> Forums </a>
</body>
</html>

You can add to either array without changing the JS sections a bit.

Good Luck!
:)


All times are GMT +1. The time now is 09:52 AM.

Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.