webForumDet fria alternativet

Bannerrotator

JavaScriptur Script - JavaScript, DHTML

1 svar · 5 585 visningar · startad av nitro2k01

Medlem sedan aug. 20039 340 inlägg
Frågan#1

En bannerrotator skriven i Javascript, lamplig om du inte vill, kan eller orkar anvanda serversidekod.

<script type="text/javascript">
	/*
	Javascript banner rotator, Version 1.0
	© 2006 nitro2k01
	Licensed under a common creatives 2.5 license.
	See [url]http://creativecommons.org/licenses/by/2.5/deed.en_GB[/url] for details
	Contact: nitro2k01+bannerrot@gmail.com
	*/

/***** Settings *****/
/*
Har lagger du till information om lankarna.
Varje lank ska ha formen:
["Adress till bannern", "Adress till sidan", "Alt-text"]
Varje lank-objekt ska sedan separeras med komma-tecken
*/
var banners=[
["1.gif", "http://www.1.com", "Alt-text 1"],
["2.gif", "http://www.2.com", "Alt-text 2"],
["3.gif", "http://www.3.com", "Alt-text 3"]
];

var optionlist = {
    banners: banners,
    timeout: 30 /* Seconds! */
}

/***** End of Settings *****/

/***** Code *****/
/*
Anropas enligt foljande:

new BannerRotator(optionlist, targetdiv);

Dar optionlist ar ett objekt med installningar som
definierats ovan, och targetdiv ar en referens till
det element dar bannern ska placeras. Denna referens
fas lampligen med document.getElementById.

Exempelvis:
new BannerRotator(optionlist, document.getElementById("bannerdiv"));

*/
function BannerRotator(options, where){
    var banners = options.banners,
    	timeout = options.timeout,
    	where = where;

	function doRotation(){
		var rid=parseInt(banners.length*Math.random()),
			timg = new Image(),
			tlink = document.createElement("A");

		with(timg){
			src = banners[rid][0];
			style.border = "none";
			alt = banners[rid][2];
		}

		with(tlink){
			appendChild(timg);
			target = "_blank";
			href = banners[rid][1];
		}

		if(where.firstChild)
			where.removeChild(where.firstChild);

		where.appendChild(tlink);

		window.setTimeout(doRotation, timeout*1000);
	}

	doRotation();
}

window.onload=function(){
	new BannerRotator(optionlist, document.getElementById("bannerdiv"));
}
/***** End of Code *****/
</script>
<div id="bannerdiv"></div>
Medlem sedan aug. 20039 340 inlägg
#2

Ett litet fortydligande, pa forekommen anledning: I banners och optionslist ska det inte finnas nagot kommatecken efter det sista foremalet, da det staller till med problem i vissa vebblasare. Jag har aven redigerat bort ett sadant kommatecken i som jag rakade lamna kvar i orginalkoden. T ex:

var banners=[
["1.gif", "http://www.1.com", "Alt-text 1"],
["2.gif", "http://www.2.com", "Alt-text 2"],
["3.gif", "http://www.3.com", "Alt-text 3"][s],[/s] [b]<-- Inget kommatecken efter sista foremalet![/b]
];

var optionlist = {
    banners: banners,
    timeout: 30[s],[/s] [b]<-- Inget kommatecken efter sista foremalet![/b] /* Seconds! */
}
132 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)