Šta je novo?

Joomla - ubacivanje js-a

  • Začetnik teme Začetnik teme MH212
  • Datum pokretanja Datum pokretanja

MH212

Cenjen
Učlanjen(a)
20.01.2013
Poruke
26
Poena
154
Hocu da namestim da kad se skroluje na dole, nestane header, a meni ostane na vrhu strane. kao sto je npr. na ovom sajtu uradjeno:

http://www.mvpthemes.com/maxmag/

Pokusavam nesto ali nikako ne uspeva, sta god uradim, nista se ne desava...pa zelim prvo da budem siguran da sam implementirao .js u index.php kako treba.

Napravio sam menuFix.js ubacio ga u templates/jsn_vintage_free/js/ i onda u index.php u head tagu dodao:

<script type="text/javaScript" src="../js/menuFix.js"></script>

Jel to ispravno ili sam zeznuo nesto?
 
Izvinjavam se za dupli post, al zezam se vec nekoliko sati sa ovim i polako mi ide na zivce, molim nekog da pomogne.

Ovde sam uspeo da uradim ono sto sam zamislio:

http://jsfiddle.net/2QfU4/

ali kad probam to da uradim na sajtu koji radim, sanse nema da ispadne ono sto sam zamsilio...pretpostavljam da je probem to sto je sam menu zatrpan u gomili divova koji imaju razlicite id-eve...#jsn-menu, #jsn-menu-inner, #jsn-menu-inner1, #jsn-mainmenu itd itd...

evo sajta pa ako neko moze da pomogne bio bih mu mnogo zahvalan.

http://mbsystem.rs/

ubacio sam .js direktno u head tag i to je ok, tako da znam da nije u tome greska (to je sto se tice pitanja u prethodnom postu)...u js kodu sam kao u ovom primeru sa JSFIDDLE stavio da se funkcija odnosi na #jsn-menu-inner s tim sto sam u cssu i htmlu promenio da to bude klasa, a ne id, znaci .jsn-menu-inner i to kucao i u funkciji. Nije dalo nikakvog rezultata pa sam vratio sve kako je bilo pre nego sto sam ista pokusao i nadam se da ce neko od vas pomoci.

hvala unapred
 
Poslednja izmena:
Покушао сам директно из бровсера да дам инлајн стил, тј фиксну позицију и топ 0 твом менију, и добио сам ефекат који ти треба. Вероватно ти скрипта нешто не ради како треба. Пробај заглави негде неки console.log и види да ли ти уопште улази у жељени иф.
 
Jel moze malo detaljnija pomoc? Ja cu detaljnije da napisem sta sam uradio sad.

U head tag fajla index.php sam ubacio javaScript i taj kod izgleda ovako:

Kod:
	var num = 139; //number of pixels before modifying styles

		$(window).bind('scroll', function () {
			if ($(window).scrollTop() > num) {
				$('.jsn-menu-inner').addClass('fixed');
			} else {
				$('.jsn-menu-inner').removeClass('fixed');
		}
	});

css ovako:

Kod:
.jsn-menu-inner {
	background-position: left top;
	background: url(../images/menuBg.jpg) repeat-x !important;
	height:60px;
	padding-top: 7px;
	margin-bottom:7px;
	
}

.fixed {
	 position:fixed !important;
	top:0px !important;
	margin-top:0px !important;
	width: 100%;
}

a php ovako:

Kod:
      <div class="jsn-menu">
			<div class="jsn-menu-inner"><div class="jsn-menu-inner1">
			<?php

			/*====== Show modules in position "mainmenu" ======*/
			?>
			<div id="jsn-mainmenu">
			<?php
				if ($jsnutils->countModules('mainmenu') > 0) {
			?>
			<div id="jsn-pos-mainmenu">
				<jdoc:include type="modules" name="mainmenu" style="jsnmodule" />
			</div>
			<?php
			}
			?>
			</div>
			</div>
			<div class="clearbreak"></div>
			</div>
      </div>


Skripta radi, isprobao sam je na sajtu http://jsfiddle.net, ali iz nekog razloga ovaj sajt koji radim kao da ne ucitava skriptu, probao sam i da je ubacim i kao externi .js fajl ne vredi. Trazio po netu da vidim jel sam je lepo ubacio, pokusao sva resenja na koja sam naisao ali i dalje kao da je ni nema.

Sto se css-a tice, kad probam da ove atribute iz klase "fixed" dodelim klasi "jsn-menu-iner" menu se zalepi za vrh strane bez problema, znaci nije ni do toga. Nemam predstavu u cemu je problem i to me nervira.


Edit:

Uspeo sam. Falio mi je jQuery librery :wall:
 
Poslednja izmena:
Ne vredi...kad ubacim jQury biblioteku u head tag, meni se ponasa kako sam zamislio i toliko sam se obradovao tome da sam tek nakon 10 minuta igranja sa skrolovanjem i menijem primetio da je nestao slajder zato sto sam ubacio jQery biblioteku...e u materinu
 
Пада ми на памет да пробаш са нечим оваквим
$( "body" ).scroll(function() { } , и да ту пробаш да ту хваташ скрол евент и да додаш потребне класе.
 
nije problem u skripti, kakvu god da napisem, nece raditi dok ne dodam jQuery biblioteku u head tag, a kad to uradim nestaje slajder. Nasao sam na netu da joomla ima taj jQuery/jQuery konflikt, nasao sam i 2 plugina za joomlu koja to resavaju al sad me nesto zeza server pa nece da uploaduje pluginove, kad nece nece.

Ali onda sam naisao na ovaj post:

https://forum.jquery.com/topic/integrating-jquery-into-joomla

I uspeo sam 🙂

Samo je trebalo da u skripti zamenim "$" sa "jQuery" i nakon toga skripta radi i bez ubacivanja jQuery biblioteke u head tag 🙂

sad skripta izgleda ovako:

Kod:
	var num = 139; //number of pixels before modifying styles

			jQuery(window).bind('scroll', function () {
				if (jQuery(window).scrollTop() > num) {
					jQuery('.jsn-menu-inner').addClass('fixed');
				} else {
					jQuery('.jsn-menu-inner').removeClass('fixed');
			}
		});

i sve radi kako treba 🙂

Hvala na pomoci 🙂

Edit:

Sve radi kako treba al samo na naslovnoj strani, hahaha ako ne poludim s ovim nista nisam uradio.
 
Poslednja izmena:
Sad sam konacno uspeo. Kontao sam da ova skripta za menu vuce jQuery biblioteku koja je namenjena slajderu, pa zato skripta nije funkcionisala na drugim stranama sajta. Instalirao sam modul "Custom JavaScript" i u tom modulu pozvao jQuery biblioteku i ubacio ovu skriptu koja je i u head tagu. Selektovao da se modul prikazuje na svim stranicama osim na pocetnoj i problem resen.

Izvinjavam se sto se ovako dopisujem sam sa sobom maltene. Al kontam, mozda ce se nekome desiti isto sto i meni, pa da ne razbija glavu tri dana oko toga.
 
Nazad
Vrh Dno