javascript

Moderator: Radek Suski

Post Reply
Majrek
Joomla! Fledgling
Joomla! Fledgling
Posts: 2
Joined: Tue Nov 24, 2009 10:24 am

javascript

Post by Majrek » Wed Dec 30, 2009 9:41 am

Witam, mam zamiar wrzucić javescript do artykułu. moje pytanie jak mam to zrobić ?
mój script

Code: Select all

function PrzegladarkaZdjec(id, zdjecia)
{
	this.czas = 5;	// czas przejścia w trybie pokazu slajdów [sek]
	
	
	this.id = id;
	this.zdjecia = zdjecia;
	var timerID = null;
	
	this.wyswietl = function(nr)
	{
		clearTimeout(timerID);		
		var f = document.getElementById(this.id);
		
		if (nr < 0) nr = f.elements['zdjecia'].options.length - 1;
		else if (nr > f.elements['zdjecia'].options.length - 1) nr = 0;
		
		if (nr == 0)
		{
			f.elements['poczatek'].disabled = true;
			f.elements['wstecz'].disabled = true;
			f.elements['dalej'].disabled = false;
			f.elements['koniec'].disabled = false;
		}
		else if (nr == f.elements['zdjecia'].options.length - 1)
		{
			f.elements['poczatek'].disabled = false;
			f.elements['wstecz'].disabled = false;
			f.elements['dalej'].disabled = true;
			f.elements['koniec'].disabled = true;
		}
		else
		{
			f.elements['poczatek'].disabled = false;
			f.elements['wstecz'].disabled = false;
			f.elements['dalej'].disabled = false;
			f.elements['koniec'].disabled = false;
		}
		
		f.elements['zdjecia'].selectedIndex = nr;
		document.getElementById(this.id + '__img').src = f.elements['zdjecia'].options[nr].value;
		document.getElementById(this.id + '__opis').innerHTML = typeof this.zdjecia[nr][2] != 'undefined' ? this.zdjecia[nr][2] : '';
		if (f.elements['auto'].checked) this.przewin();
	}
	
	this.przewin = function()
	{
		clearTimeout(timerID);
		var f = document.getElementById(this.id);
		if (f.elements['auto'].checked)
		{
			if (document.getElementById(this.id + '__img').complete) timerID = setTimeout(this.id + '.wyswietl(' + (f.elements['zdjecia'].selectedIndex < f.elements['zdjecia'].options.length - 1 ? f.elements['zdjecia'].selectedIndex + 1 : 0) + ')', this.czas * 1000);
			else timerID = setTimeout(this.id + '.przewin()', 500);
		}
	}
	
	var matches = window.location.search.match(new RegExp('[\?&]' + this.id + '=(-?[0-9]+)(&|$)'));
	if (matches && typeof matches[1] != 'undefined')
	{
		var auto = matches[1].substring(0, 1) == '-' ? true : false;
		matches[1] = parseInt(matches[1]);
		var nr = Math.abs(matches[1]);
		if (nr < 0) nr = 0;
		else if (nr > zdjecia.length - 1) nr = zdjecia.length - 1;
	}
	else
	{
		var nr = 0;
		var auto = false;
	}
	
	for (var i = 0, html = ''; i < zdjecia.length; i++)
	{
		html += '<option value="' + zdjecia[i][0] + '"' + (i == nr ? ' selected="selected"' : '') + '>' + zdjecia[i][1] + '</option>';
	}
	
	document.write(
		'<form action="javascript:void(0)" id="' + this.id + '" class="zdjecia">' +
			'<div class="zdjecia_menu">' +
				'<input type="button" name="poczatek" value="|<<"' + (nr == 0 ? ' disabled="disabled"' : '') + ' title="Początek" onclick="' + this.id + '.wyswietl(0)" onkeypress="' + this.id + '.wyswietl(0)" />' +
				'<input type="button" name="wstecz" value="  <<  "' + (nr == 0 ? ' disabled="disabled"' : '') + ' title="Wstecz" onclick="' + this.id + '.wyswietl(this.form.elements[\'zdjecia\'].selectedIndex - 1)" onkeypress="' + this.id + '.wyswietl(this.form.elements[\'zdjecia\'].selectedIndex - 1)" />' +
				' <select name="zdjecia" onchange="' + this.id + '.wyswietl(this.selectedIndex)">' +
					html +
				'</select> ' +
				'<input type="button" name="dalej" value="  >>  "' + (nr == zdjecia.length - 1 ? ' disabled="disabled"' : '') + ' title="Dalej" onclick="' + this.id + '.wyswietl(this.form.elements[\'zdjecia\'].selectedIndex + 1)" onkeypress="' + this.id + '.wyswietl(this.form.elements[\'zdjecia\'].selectedIndex + 1)" />' +
				'<input type="button" name="koniec" value=">>|"' + (nr == zdjecia.length - 1 ? ' disabled="disabled"' : '') + ' title="Koniec" onclick="' + this.id + '.wyswietl(this.form.elements[\'zdjecia\'].options.length - 1)" onkeypress="' + this.id + '.wyswietl(this.form.elements[\'zdjecia\'].options.length - 1)" />' +
				'<div><input type="checkbox" name="auto"' + (auto ? ' checked="checked"' : '') + ' id="' + this.id + '__auto" onclick="' + this.id + '.przewin()" onkeypress="' + this.id + '.przewin()" style="vertical-align: middle" /> <label for="' + this.id + '__auto">Pokaz slajdów</label></div>' +
			'</div>' +
			'<img id="' + this.id + '__img" src="' + zdjecia[nr][0] + '" alt="" title="Dalej..." onclick="' + this.id + '.wyswietl(document.getElementById(\'' + this.id + '\').elements[\'zdjecia\'].selectedIndex + 1)" />' +
			'<div class="zdjecia_opis" id="' + this.id + '__opis">' + (typeof zdjecia[nr][2] != 'undefined' ? zdjecia[nr][2]: '') + '</div>' +
		'</form>'
	);
	
	if (auto) this.przewin();
}
wrzucam go do folderu media/system/js/...
a w joomali w artykule wpisuje

Code: Select all

<head>
<script type="text/javascript" src="media/system/js/przegladarka_zdjec.js"></script>
	
<script type="text/javascript">
// <![CDATA[
var przegladarka_zdjec = new PrzegladarkaZdjec('przegladarka_zdjec', new Array(
	new Array('images/1.jpg', 'ZDJĘCIE', ''),
	new Array('images/2.jpg', 'ZDJĘCIE', ''),
	new Array('images/3.jpg', 'ZDJĘCIE', '')
	
));
// ]]>

</script>


</head>
proszę o jakieś sugestie, bo nie wiem jak to ugryźć



skrypt brałem z http://www.kurshtml.boo.pl/skrypty/przegladarka.html

Post Reply

Return to “Modyfikacje i własne rozwiązania”