Табови со JavaScript

Кога сакате да заштедите простор на приказот, најдобродојдени се табовите. На ова кога ќе додадете и AJAX добивате и побрзо прикажување на податоците. Во овој пример само ќе го прикажам креирањето на табовите, останатиот AJAX дел во друга прилика.

Javascript:

var tabovi = {
	doInit: function() {
		tabovi.attachEventOnTabs();
		tabovi.selectCurrentTab(document.getElementById("tab0"));
	},
	attachEventOnTabs: function() {
		var Tabs = document.getElementById('tabs').getElementsByTagName('li');

		for(var i=0;i<Tabs.length;i++) {
			Tabs[i].id = "tab"+i;

			if(Tabs[i].addEventListener)
				Tabs[i].addEventListener('click', this.doSomething, false);
			else
				Tabs[i].attachEvent('onclick',this.doSomething)

			Tabs[i].className = "passive";
		}

	},	setContent: function (el) {
			document.getElementById('content').innerHTML = el.id;
	},
	doSomething: function(obj) {
		var clickedTab = obj.currentTarget?obj.currentTarget:window.event.srcElement;

		tabovi.selectCurrentTab(clickedTab);
		tabovi.setContent(clickedTab);
	},
	selectCurrentTab: function (obj) {
		//selektiraj gi tabovite
		var Tabs = document.getElementById('tabs').getElementsByTagName('li');

		for(var i=0;i<Tabs.length;i++) {
			Tabs[i].className = "passive";

		}
		obj.className = "current";
	}
}

CSS:

ul
{
	padding: 0;
	margin: 0;
	width: 320px;
}

ul li
{
	display:inline;
	padding: 0 5px;
	margin: 0 5px 0 0;
	cursor: default;
}

.current
{
	border: 1px solid black;
	border-bottom: 2px solid white;
}

.passive {
	border:1px solid black;
	border-bottom: 1px solid silver;
	background-color: silver;
}

#content
{
	border: 1px solid black;
	padding: 5px;
	width: 320px;
}

HMTL:

  • Meni
  • Meni
  • Meni
  • Meni
  • Meni
  • Meni
Pocetna sodrzina
<script>window.onload = tabovi.doInit();</script>

–> Демо <–

Hits for this post:655

Leave a Comment