Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: javascript php'e

Parašė Creatium· 2009 Spa. 17 20:10:17
#1

Sveiki,
turiu aš javascriptą "medžio" pavidalo navigacijos (grupės su pogrupiais). Ir yra toks dalykas, kad kai aš tą skriptą naudoju html'e, tai jis atrodo gražiai, o kai php'e, tai visada būna atidaryta pirma nuorodų grupė. Kadangi aš nemoku javascript kalbos, tai nežinau kame bėda gali būti. Štai kodas:

var activeMenuItem = new Array();
function isUlInArray(inputObj,ulObj){
while(inputObj && inputObj.id!='dhtmlgoodies_listMenu'){
if(inputObj==ulObj)return true;
inputObj = inputObj.parentNode;
}
return false;
}
function showHideSub(e,inputObj)
{
if(!inputObj)inputObj=this;
var parentObj = inputObj.parentNode;
var ul = parentObj.getElementsByTagName('UL')[0];
if(activeMenuItem.length>0){
for(var no=0;no<activeMenuItem.length;no++){
if(!isUlInArray(ul,activeMenuItem[0]) && !isUlInArray(activeMenuItem[0],ul)){
activeMenuItem[no].style.display='none';
activeMenuItem.splice(no,1);
no--;
}
}
}
if(ul.offsetHeight == 0){
ul.style.display='block';
activeMenuItem.push(ul);
}else{
ul.style.display='none';
}
}
function showHidePath(inputObj)
{
var startTag = inputObj;
showHideSub(false,inputObj);
inputObj = inputObj.parentNode;
while(inputObj){
inputObj = inputObj.parentNode;
if(inputObj.tagName=='LI')showHideSub(false,inputObj.getElementsByTagName('A')[0]);
if(inputObj.id=='dhtmlgoodies_listMenu')inputObj=false;
}
}
function initMenu()
{
var obj = document.getElementById('dhtmlgoodies_listMenu');
var linkCounter=0;
var aTags = obj.getElementsByTagName('A');
var activeMenuItem = false;
var activeMenuLink = false;
var thisLocationArray = location.href.split(/\//);
var fileNameThis = thisLocationArray[thisLocationArray.length-1];
if(fileNameThis.indexOf('?')>0)fileNameThis = fileNameThis.substr(0,fileNameThis.indexOf('?'));
if(fileNameThis.indexOf('#')>0)fileNameThis = fileNameThis.substr(0,fileNameThis.indexOf('#'));
for(var no=0;no<aTags.length;no++){
var parent = aTags[no].parentNode;
var subs = parent.getElementsByTagName('UL');
if(subs.length>0){
aTags[no].onclick = showHideSub;
linkCounter++;
aTags[no].id = 'aLink' + linkCounter;
}
if(aTags[no].href.indexOf(fileNameThis)>=0 && aTags[no].href.charAt(aTags[no].href.length-1)!='#'){
if(aTags[no].parentNode.parentNode && aTags[no].parentNode.parentNode.id!='dhtmlgoodies_listMenu'){
var parentObj = aTags[no].parentNode.parentNode.parentNode;
var a = parentObj.getElementsByTagName('A')[0];
if(a.id && !activeMenuLink){
activeMenuLink = aTags[no];
activeMenuItem = a.id;
}
}
}
}
if(activeMenuLink){
activeMenuLink.className='activeMenuLink';
}
if(activeMenuItem){
if(document.getElementById(activeMenuItem))showHidePath(document.getElementById(activeMenuItem));
}
}
window.onload = initMenu


;

Parašė tautvys92· 2009 Spa. 17 21:10:20
#2

O tai koks skirtumas tarp html ir php? php jei nežinojai yra skriptinimo kalba, html naudoji aprašydamas kaip turi atrodyti tavo tinklapis, taigi bet kokiu atveju tenka naudoti html.

Parašė Creatium· 2009 Spa. 17 21:10:38
#3

Tai aš šitą jau seniai žinau. Aš sakau, kad kuomet kodą įterpiu į .html failą, tai grupės uždarytos visos, o kuomet į .php, tai pirmoji grupė atidaryta būna. Taigi, čia javascripto "klaida". Dėl to ir prašau, kad žmogus, kuris išmano javascript peržiūrėtų kodą ir paredaguotų taip, kad .php faile visos grupės būtų uždarytos.

Parašė ArturasS· 2009 Spa. 18 10:10:49
#4

Pakopink kaip tu įterpinėji, gal ne taip kažką, kažkur rašai...

Parašė Creatium· 2009 Spa. 18 10:10:00
#5

heaR parašė:
Pakopink kaip tu įterpinėji, gal ne taip kažką, kažkur rašai...


Klausyk, jeigu būčiau ne taip įterpęs tai išvis neveiktų jis.

Daugiau nerašykite tokių nesąmoningų žinučių. Rašykit tik tie, kurie tikrai nusimanot ir žinot kame bėda gali būti. Ačiū.

Parašė ArturasS· 2009 Spa. 18 10:10:17
#6

Creatium parašė:
heaR parašė:
Pakopink kaip tu įterpinėji, gal ne taip kažką, kažkur rašai...


Klausyk, jeigu būčiau ne taip įterpęs tai išvis neveiktų jis.

Daugiau nerašykite tokių nesąmoningų žinučių. Rašykit tik tie, kurie tikrai nusimanot ir žinot kame bėda gali būti. Ačiū.

Tai sakau parašyk, nenusimanau? Paskaityk wrt puslapyje mano rašytus straipsnius apie js ir kt.

Parašė Creatium· 2009 Spa. 18 10:10:07
#7

Štai, jeigu jau taip nori pamatyt:
<script type="text/javascript" src="meniu.js"></script>



Terpta tarp head tagų. Bandžiau ištraukti tik kodą ir įterpti (ne failą, o kodą), tačiau tas pats.

Aš nesakiau, kad būtent TU nenusimanai. Kalbėjau abstrakčiai. Dėl nusimanymo, tai jeigu nusimanai - peržiūrėk kodą ir pasakyk kame bėda.

Parašė ArturasS· 2009 Spa. 18 10:10:04
#8

Jeigu su html veikia, o su php ne, tai jeigu php faile yra
<?php
&
?>
, tai vietoj
<script type="text/javascript" src="meniu.js"></script>
rašyk
<script type=\"text/javascript\" src=\"meniu.js\"></script>


EDIT: išvis jeigu php kodas tam faile prasideda prieš keikvienas
"
turi buti
\
pvz:
\"

Redagavo ArturasS· 2009 Spa. 18 10:10:19

Parašė Creatium· 2009 Spa. 18 10:10:32
#9

Deja, pas mane su php irgi veikia. Tačiau php faile įėjus į puslapį automatiškai atsidaro pirmoji nuorodų grupė, o html faile automatiškai neatsidaro nė viena. Man reikia, kad ir php faile automatiškai netsidarinėtų grupė. Jeigu pašalinu tą pirmą grupę, tai tuomet atsidaro sekanti grupė. Taigi, darau prielaidą, kad tai javascripto klaida kažkur.

Redagavo Creatium· 2009 Spa. 18 10:10:57

Parašė Creatium· 2009 Spa. 18 16:10:28
#10

up

Parašė Creatium· 2009 Spa. 18 16:10:15
#11

Problema dar neišspresta. Vis dar reikalinga pagalba!

Parašė Creatium· 2009 Spa. 18 19:10:00
#12

Problema dar neišspresta. Vis dar reikalinga pagalba!

Parašė Creatium· 2009 Spa. 18 19:10:40
#13

Problema dar neišspresta. Vis dar reikalinga pagalba!

Parašė Creatium· 2009 Spa. 18 20:10:18
#14

Problema dar neišspresta. Vis dar reikalinga pagalba!

Parašė Creatium· 2009 Spa. 18 22:10:49
#15

Problema dar neišspresta. Vis dar reikalinga pagalba!

Parašė Creatium· 2009 Spa. 19 21:10:12
#16

Problema dar neišspresta. Vis dar reikalinga pagalba!

Parašė Žmogus· 2009 Spa. 27 09:10:23
#17

Ką žinau bandyk taip:
?>
javascript kodas
<?php