Solved

Revolving Graphics (Banner Ads)

Posted on 2004-08-02
4
541 Views
Last Modified: 2013-11-28
Can anyone help me with a very simple javascript code ... to show a random banner ad?

I have 5 images - such as the link below - each with their own very specific URL link.
I need to show one image at a time RANDOMLY.

SO if I had five images - 1,2,3,4,5 .. find a random number between 1&5 and show the appropriate image (AND it's URL) for that number.

The type of image & URL:
<a href="http://www.amazon.com/exec/obidos/ASIN/0060731583/fred"><img src="http://www.fred.com/tfranks0731.jpg"></a>


Thanks!
Richard
0
Comment
Question by:rcbuchanan
  • 2
4 Comments
 
LVL 36

Accepted Solution

by:
Zyloch earned 200 total points
ID: 11695436
Sure.
Have two arrays. One array has the src of all the images and the other has the links for each banner repectively, meaning the first element of the image src array corresponds to the first element of the links array.

i.e.
var imgSrc=new Array;
var hreflinks = new Array;

imgSrc[0]="blue.gif";
hreflinks[0]="link_for_blue.html";
imgSrc[1] = "red.gif";
hreflinks[1] = link_for_red.html";

etc.etc.

Then, have this code where you want the banner and link to appear inside the <body> tag:
<script language="javascript">
var randomNum = Math.floor(Math.random() * imgSrc.length);
document.write("<a href=\""+hreflinks[randomNum]+"\"><img src=\""+imgSrc[randomNum]+"\"></a>");
</script>

Regards,
${Zyloch}
0
 
LVL 7

Assisted Solution

by:Xxavier
Xxavier earned 200 total points
ID: 11695810
<script>
var banSrc=new Array('http://www.experts-exchange.com/images/indexLogoPerson_05.gif',
 'http://www.experts-exchange.com/images/indexLogoPerson_03.gif',
 'http://www.experts-exchange.com/images/indexLogoPerson_02.gif',
 'http://www.experts-exchange.com/images/indexLogoPerson_04.gif',
 'http://www.experts-exchange.com/images/indexLogoPerson_01.gif')

var banHref = new Array('http://google.com',
 'http://yahoo.com',
 'http://msn.com',
 'http://abc.com',
 'http://nbc.com')
</script>

<body>
<a id="banLink" href="#"><img name="banImg"></a>
<script>
 index=Math.floor(banSrc.length*Math.random())
 document.getElementById('banImg').src=banSrc[index]
 document.getElementById('banLink').href=banHref[index]
</script>
</body>


Ta! Da! Xx
0
 
LVL 33

Assisted Solution

by:humeniuk
humeniuk earned 100 total points
ID: 11695915
Those look like solid solutions to me.

For the hell of it, though, you can find 8 random images JavaScript scripts at http://www.hotscripts.com/JavaScript/Scripts_and_Programs/Randomizing/Random_Images/index.html and 25 random images PHP scripts at www.hotscripts.com/PHP/Scripts_and_Programs/Randomizing/Random_Images/index.html.
0
 
LVL 36

Expert Comment

by:Zyloch
ID: 11696068
Are you having a problem with my script?
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

This article discusses the difference between strict equality operator and equality operator in JavaScript. The Need: Because JavaScript performs an implicit type conversion when performing comparisons, we have to take this into account when wri…
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
Use Wufoo, an online form creation tool, to make powerful forms. Learn how to selectively show certain fields based on user input using rules to gather relevant information and data from your forms. The rules feature provides you with an opportunity…
Use Wufoo, an online form creation tool, to make powerful forms. Learn how to choose which pages of your form are visible to your users based on their inputs. The page rules feature provides you with an opportunity to create if:then statements for y…

744 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

9 Experts available now in Live!

Get 1:1 Help Now