webszerkesztés és photoshop fórum - WebPillangó

WebPillangó => Programozás => A témát indította: Tupacko - 2007. 09. 08. - 19:01:53



Cím: JavaScript
Írta: Tupacko - 2007. 09. 08. - 19:01:53
A szeretett JS is kap egy saját témát, elvégre sok érdekes és hasznons dolog elérhető általa.


Cím: Balou JS képgalériás gondja
Írta: Tupacko - 2008. 01. 24. - 14:07:30
A megoldás: http://www.dynamicdrive.com/dynamicindex4/cmotiongallery.htm


Cím: Re: JavaScript
Írta: Balou - 2008. 01. 24. - 15:27:13
Ezer hála és köszi a segítséget :) No meg bocsi,hogy rossz helyre írtam  :-[


Cím: Re: JavaScript
Írta: Tupacko - 2008. 01. 24. - 19:46:34
Semmi gond, ma nyugodt voltam, nem töröltem a másik írást sem :) Megaztán szívesen.


Cím: Re: JavaScript
Írta: dying.inside - 2008. 01. 27. - 14:16:20
sziasztok, az osztályom honlapján (tudastarlap.extra.hu) egy javascriptet használtam. ez a javascript a linkeknél működik, és a lényege, hogy ha rávisszük az egeret, akkor a link egy lágy átmenettel változik fehérré. a problémám az, hogy ha először rávisszük az egeret, átmenet nélkül változik, aztán ha újra ráviszem, akkor már jó lesz. tudnátok segíteni? (részletek a forráskódban). és lehet hogy lehülyéztek de elég láma vok javascripthez :D a javascript kód linkje: tudastarlap.extra.hu/menuhalvany.js
előre is köszi a segítséget!


Cím: Re: JavaScript
Írta: Tupacko - 2008. 01. 27. - 19:14:55
1. senki nem hülyéz le senkit, erről én teszek.  ;)
2. nem látom értelmét az egésznek, hogy szép lassan menjen át más színbe ... részletkérdés. A hiba ott keletkezhet, hogy először nincs beállítva valami, ami csak az után állítódik be, hogy egyszer fölé mész a linknek, majd legördülsz róla.


Cím: Re: JavaScript
Írta: Csiga - 2008. 03. 22. - 14:18:46
Kód:
function addmessage(){
if(document.uziform.nev.value="" || document.uziform.uzenet.value=""){
alert("Írj be nevet és üzit");
}else{
  new Ajax.Updater( 'uzik', 'add.php', {
     method: 'post',
     parameters: $('uziform').serialize(),
     onSuccess: function() {
       $('messagetext').value = '';
   $('nametext').value = '';
   $('emailtext').value = '';
     }
  } );
  }
}

Van ez a kis kódocska és annyi a gondom vele, hogy még véletlenül sem akar rendesen működni. A lényege annyi volna, hogy az ajaxupdatert csak akkor engedi futni ha ki van töltve a nev és uzenet is, ha nincs valamelyik akkor egy alert hogy nem írt valamelyikbe.
Ha nem írok, akkor nem dob ki üzit, nem is írja be az sql-be a cuccost, de újra tölti az egész lapot feleslegesen...
Mi lehet vele a gond?


Cím: Re: JavaScript
Írta: Tupacko - 2008. 03. 22. - 23:38:01
Gondolom, ha használod a dollár jelt, akkor prototype-t hasznász. Lehet a böngészők összeférhetetlensége a gond, mivel nem midenik ismeri ugyanúgy fel az IDkat. Próbáld ki úgy,  dollárt hívd meg a mezők IDjával, és azt ellenőrízd, ha netán üresek. Ha nem, akkor próbáld meg beírni az oldal betöltése után a címsorba a következőt, hogy ellenőrízd le a szövegmezők tartalmát:
Kód:
javascript: alert("A tartalom: '" + document.uziform.nev.value + "'.");


Cím: Re: JavaScript
Írta: Csiga - 2008. 03. 22. - 23:45:01
Közben rájöttem, hogy az if feltételével volt gond, ott nem tetszett a dolog pl Operának.

Kód:
function addmessage(){
  if(document.uziform.nev.value=="" || document.uziform.nev.value==null){
  alert("Írj be nevet!");
document.uziform.nev.focus();
}else if(document.uziform.uzenet.value=="" || document.uziform.nev.value==null){
alert("Írj be üzenetet!");
document.uziform.uzenet.focus();
}else{
  new Ajax.Updater( 'uzik', 'add.php', {
     method: 'post',
     parameters: $('uziform').serialize(),
     onSuccess: function() {
        $('messagetext').value = '';
    $('nametext').value = '';
      }
  } );
}
}

Így oldottam meg.

De így az a gond, hogy az egész oldalt újratölti a sima div helyett... Ezt nem bírom felfogni hogy miért csinálja, végülis nem olyan zavaró de nem ártana, ha csak azt az egy divet nyomná újra..
És igen, prototypet használok.


Cím: Re: JavaScript
Írta: Tupacko - 2008. 03. 23. - 00:09:01
Sajnos erre nem tudom a választ, mivel nem vagyok híve az AJAXnak (nem igazán volt még értelme használjam, emgvoltam nélküle is). Persze ez nem azt jelenti, hogy nem tudom mi az, próbálgattam "offline", csupán nagy figyelmet nem szenteltem neki  :-[


Cím: Re: JavaScript
Írta: Csiga - 2008. 03. 23. - 00:25:42
Végülis nem különösebben érdekes, ha nem fog tökéletesen úgy működni ahogy kell...
Köszi az eddigi segítségeket is.


Cím: Re: JavaScript
Írta: AAron - 2008. 05. 25. - 15:17:44
Azt hiszem JS témába tartozik a kérdésem.
Ha nem jól tudom akkor bocs hogy ide írom! :-[
Szóval van ugye a LightboxJS honlap (http://www.huddletogether.com/projects/lightbox2/) és láttam egy pár olyan weboldalt, ahol egy ilyen efektel jelent meg egy tartalom, de nem kép, hanem egy weoldal.
Tehát egy olyan hivatkozás volt ami egy weboldalt töltött be egy ilyen box-ba.
Pl: kapcsolatfelvétel
Volt egy link, hogy contact és ugyanúgy ahogy a LightboxJS, bejött egy ilyen form.
Ezt tehát én is meg szeretném valósítani, csak nem tudom, hogy keressem.
elképzelhetitek, hogy kerestem... ;D de semmi.
Remélem tudtok segíteni, előre is köszönöm.



Cím: Re: JavaScript
Írta: AAron - 2008. 05. 25. - 17:18:59
Nos sikerűlt a "barátomtól" lelesni egy két linket és megtaláltam a választ.
Akit még érdekel, hogy mire gondoltam az itt megtekintheti.
http://www.ericmmartin.com/simplemodal/


Cím: Re: JavaScript
Írta: Tupacko - 2008. 05. 25. - 21:26:17
Köszi az észrevételt :) Én minde esetre a magyar fejlesztésű http://www.clearbox.hu/ -ot ajánlom. Nagyon okos.


Cím: Re: JavaScript
Írta: AAron - 2008. 05. 27. - 09:39:16
Na ez még jobb mert amit én linkeltem azt WordPressben lehet használni:)


Cím: Re: JavaScript
Írta: kovger - 2008. 05. 28. - 20:32:16
Gondolom sokaknak okozott már problémát az a dolog, hogy szerettek volna iframe-val beilleszteni az oldalukba pl. egy vendégkönyvet de sok üzenet után görgetve kellett ezeket olvasni.
Most azt a kódot írom le nektek, hogy hogyan tudtok egyszerűen szöveghez alkalmazkodó iframe-t beszúrni.

Kód:
<div id="hely" style="border-style: solid; border-width: 0px">
<iframe src="oldalnev.html" width="0" height="0" name="keret" onload="document.getElementById('hely').innerHTML=keret.document.body.innerHTML" style="display:none">
</iframe>
Remélem tudtam segíteni.


Cím: Re: JavaScript
Írta: Tupacko - 2008. 05. 29. - 00:45:12
A probléma csak az, hogy már rég kiment divatból az iframe és frame, ráadásul biztonsági okok miatt is elavult :D Aki teheti, ne használjon iframet.


Cím: Re: JavaScript
Írta: Balou - 2008. 06. 14. - 19:54:44
Hello!

Lenne egy eléggé fontos kérdésem... régebben is használtam egy ajaxra épülő JS scrollt, de nem találom sehol :S Nem tudna valaki egy linket mondani?Vagy egy olyan scriptet adni, ami egy javascriptes vertikális scroll, ami úgy működik,hogy ha pl a lefele mutató nyílra viszem az egeret, akkor a div-ben lévő szöveg lefele megy,stb.. Kerestem gúglival is,de konkrétan azt,amire szükségem lenne, nem igazán találtam meg :S


Cím: Re: JavaScript
Írta: Tupacko - 2008. 06. 15. - 18:59:43
Néhány link egyedi tartalom görgető JavaScriptre (custom scrollbar):
http://www.hesido.com/web.php?page=customscrollbar - ajánlat (nagyon jól néz ki, normál görgetősávval is, nem csak nyilakkal lehet görgetni)
http://www.java2s.com/Code/JavaScript/GUI-Components/Customscrollbar2.htm - egy másik módszer

Több, mint valószínű, hogy ilyenre gondoltál :)


Cím: Re: JavaScript
Írta: Balou - 2008. 06. 16. - 20:02:19
Igen,valami ilyesmire, de mégse..vagy már nem tudom...az első nagyon káoszos nekem, teljesen belezavarodtam,hogy mi is az, ami kéne nekem belőle és mi az, ami nem :D A másodikat meg sehogyse bírtam működésre bírni :S

Ez az oldal (még félkész): http://dreamgraphx.extra.hu/HereditasCorvi/ (http://dreamgraphx.extra.hu/HereditasCorvi/) A Magunkról résznél csináltam meg egyenlőre hogy a scrollt tudjam ellenőrizni..


Cím: Re: JavaScript
Írta: kovger - 2008. 08. 28. - 13:13:39
Leszeretnék jelszavazni az oldalamon egy oldalt.
Találtam egy javascript popup-os jelszókérőt, de mindig kéri, ha megnyitok egy oldalt pl így.: oldalnevem.php?old=blabla.
Tehát olyan kéne, ami csak az oldalnevem.php résznél kéri a jelszót.
Íme a kód
Kód:
<head>
<SCRIPT language="JavaScript">
<!--
var password;
var pass1="jelszó";
password=prompt('Hoppácska! Ide csak jelszóval léphetsz be','');
if (password==pass1){alert('Megfelelő jelszó!!');}
else{window.location="http://ide dob ha nem jó a jelszó.hu";}
//-->
</SCRIPT>
</head>


Cím: Re: JavaScript
Írta: Tupacko - 2008. 08. 28. - 15:45:52
El kell, hogy keserítselek. JSel nem lehet megfelelően levédni egy oldalt. Ennek igen egyszerű oka van. A JS kliens oldali nyelv. Ez annyit tesz, hogy az oldalt látogató személy számítógépén fut le. Na már most, akkor a helyes jelszó is a kliens gépén kell legyen. Néz egy forráskódot, és belép. Ennyit a védelemről.
Szépen meglehet odlani viszont PHPból. Egy egyszerű változat:
Kód:
<?php
session_start
();

if ( isset(
$_POST['doLogin']) ){
  if ( !isset(
$_POST['user']) || !isset($_POST['pass']) ){
    echo 
'Add meg a felhasznalot es a jelszot.';
  } else {
    if ( 
strcmp($_POST['user'], 'ide a felhasznalo') == && strcmp($_POST['pass'], 'ide a jelszo') == ){
      
$_SESSION['isLoggedIn'] = true;
    }
  }
}

if ( 
$_SESSION['isLoggedIn'] === true ) {
  
header('Location: vedett.php');
} else { 
?>

<form method="post" action="belepo.php">
<input name="user" />
<input type="password" name="pass" />
<button type="submit" value="1" name="doLogin">Belepes</button>
</form>
<?php
}
?>


Természetesen meglehet írni sokkal biztonságosan is és sokkal komplikáltabban is, hogy külön hibát adjon, ha csak a jelszó vagy csak a felhasználó nincs kitöltve, vagy ha valamelyik nem helyes. Úgy is lehet, hogy a jelszót lekódolod MD5el majd a kapott kódot írod be a jelszó összehasonlításhoz, és akkor ha valamiért nem fut le a PHP, akkor sem tudódik ki a jelszavad, mivel csak egy hash-t fog látni az illető. Stb. Most az egyszerűségre törekedtem.
Ha van valami kérdés, fogd meg a kódot és gyere át vele a PHP topicba. Előtte viszont nem bánom ha rákeresel a fórumon, ha már nem volt ilyen téma, mert valahonnan emlékszem rá :) A munkamenet (session) használatáról van egy kiterjedt leírás az oldalon. Ajánlom figyelmedbe, ha nem tudod, miként kell bánni vele.

Sok sikert!


Cím: Re: JavaScript
Írta: anatre - 2008. 12. 27. - 09:09:19
Hali. Mostanaban kezdtem el a javascriptel is foglalkozni, mivel az oldal amin most dolgozok ezt is kivanja...

Az lenne a nagy problemam, hogy akarok egy reg urlapot csinalni, aminek pl. ha a nev mezo nincs kitoltve, vagy nem eleg karakterbol all, akkor a input mezo melle! irja ki a hibat.

Kód:
<script language="javascript">

function regact() {
if(!document.form.cb.checked) {
document.form.mehet.disabled = true;
}
else {
document.form.mehet.disabled = false;
}
}

function mezok() {
if(document.form.nev.value == "") {
document.form.nev.value = "Toltsd ki a mezot!";
}
if(document.form.nev.length.value <= "3") {
document.form.nev.value = "Nem eleg hosszu a neved!";
}
}

</script>

<form method="POST" name="form" action="<?php $PHP_SELF ?>">
<ul>nev:</ul>
<ul><input type="text" name="nev" onBlur="mezok()"><p name="hiba"></p></ul>
<ul>Elfogadom <input type="checkbox" name="cb" onClick="regact()"></ul>
<ul><input type="submit" name="mehet" value="ok" disabled="true"></ul>
</form>

Eddig itt tartok, mert csak tesztelem, amig nem jottem ra hogy hogy is van ez, addig a reg hez sem erdemes hozzafogni.


Cím: Re: JavaScript
Írta: Tas - 2009. 01. 04. - 21:12:08
Kód:
<html>
<head>
<script language="javascript">

function regact() {
if(!document.form.cb.checked) {
document.form.mehet.disabled = true;
}
else {
document.form.mehet.disabled = false;
}
}

function mezok() {
if(document.form.nev.value == "") {
document.getElementById('hiba').innerHTML = "Toltsd ki a mezot!";
}
else if(document.form.nev.value.length <= 3) {
document.getElementById('hiba').innerHTML = "Nem eleg hosszu a neved!";
}
}

</script>
</head>
<body>

<form method="POST" name="form" action="<?php $PHP_SELF ?>">
<ul>nev:</ul>
<ul><input type="text" name="nev" onBlur="mezok()"><p id="hiba"></p></ul>
<ul>Elfogadom <input type="checkbox" name="cb" onClick="regact()"></ul>
<ul><input type="submit" name="mehet" value="ok" disabled="true"></ul>
</body>
</html>

Saját kódod kicsit módosítva, javítgatva egy-két helyen. A mezok fgv. 2. if feltételét én else if-re cseréltem, mert így akkor is ad hibát ha nincs kitöltve a név meződ és nem csak akkor ha túl rövid a név.


Cím: Re: JavaScript
Írta: kovger - 2009. 03. 06. - 16:06:15
Hogy lehet azt megoldani, hogy rákattolok pl a "vastag(B)" szóra akkor a "<b></b>" tag megjelenne a szövegmezőben?
Lehet, hogy nem ide tartozik. Bocsi


Cím: Re: JavaScript
Írta: lowert - 2009. 03. 06. - 17:37:18
Szövegmező alatt mit értesz? Címsor, űrlapnál a szöveges bemenet stb. ?


Cím: Re: JavaScript
Írta: kovger - 2009. 03. 06. - 17:55:57
Igen! Textarea

Egy külföldi oldalon megtaláltam a megoldást!
Itt a minta:
Kód:
<script type="text/javascript">
function blah() {
   var ta = document.getElementById("test");
   if (document.selection) {
      str = document.selection.createRange().text
      document.selection.createRange().text = "<B>" + str + "</B>";
      return true;
   }
   else if (ta.selectionStart) {
      var startPos = ta.selectionStart;
      var endPos = ta.selectionEnd;
      var str = ta.value.substring(startPos, endPos);
      ta.value = ta.value.substring(0, startPos) + "<B>" + str + "</B>" + ta.value.substring(endPos, ta.value.length);
      return true;
   }
   else {
      return false;
   }
}
</script>
<input type="button" value="Bold" onclick="blah()" />
<br />
<textarea id="test" style="height:150px">
This is a test to see if the bold tags will work.
</textarea>


Cím: Re: JavaScript
Írta: Tupacko - 2009. 03. 06. - 21:16:19
A lényeg, hogy működik :)


Cím: Re: JavaScript
Írta: Piszi - 2009. 03. 30. - 17:42:31
Sziasztok!

Akadt némi problémám és nem tudok egyszerűen rájönni mi van. Azért ide írom mert javascript-el kapcsolatos de nem biztos, hogy konkrétan a js-ben van a hiba.

Próbálom IE6-ra ráerőszakolni, hogy a png-ket transparensnek lássa ami egész addig működik is amíg nem akarok a:hover-t használni.
Találtam egy js-t ami elviekben megoldja ezt a problémát és a példa oldal működik is rendesen de amikor én csináltam magamnak egy teszt oldalt sehogy sem akar működni.
ezt a megoldást próbálom használni: http://www.ideashower.com/our_solutions/png-hover/
A teszt oldalam meg így néz ki (a head részt kihagyom) :
Kód:
<body>
<div id="container">
  <ul id="nav">
    <li><a id="item1" href="#">Link</a></li>
    <li><a id="item2" href="#">Link</a></li>
    <li><a id="item3" href="#">Link</a></li>
  </ul>
</div>
<!--[if IE 6]>
    <script type=”text/javascript” src=”pngHover.js”></script>
 <![endif]-->
 </body>
Az index.html-em és a js + a transparent.gif is ugyanabban a mappában vannak.
A css-em meg ugyan úgy néz ki mint a fent linkelt mintaoldalon csak annyi a különbség, hogy más képet és más id nevet használtam a linkekhez
Beállítottam a js-ben az id-t nem sokat gondolkoztam ua. írtam mint a mint a minta csak a gif elérési útvonalát változtattam.
Próbáltam, hogy az IE6 specifikus részt a /ul alá teszem meg a /div alá de akkor sem ment viszont nekem meg muszáj png-t használnom a design miatt és már totál kész vagyok, hogy egy js-sem műkszik azaz egy igen jelenleg azt használom csak az nem támogatja a hover-t.

ezt az egészet meg majd egy joomla-ra kéne megoldani de a pngfix-ek amik vannak a joomla-hoz persze, hogy nem működnek de mindegy is megoldanám valami ilyesmi script-el, ha működnének.

Esetleg valami ötlet??


Cím: Re: JavaScript
Írta: Tupacko - 2009. 03. 31. - 12:57:13
Valamit nem épp úgy vettél át, mert akkor működne :) Nézd meg ezeket a linkeket, CSS megoldást kínál (ugyan az, mint a JS, csak itt te teszed rá CSSből a szűrőket és így azoknál is fog müködni, akinek nincs JS támogatás):
http://www.howtocreate.co.uk/alpha.html
http://www.webmasterworld.com/forum83/7828.htm
http://msdn.microsoft.com/en-us/library/ms532969.aspx


Cím: Re: JavaScript
Írta: André - 2009. 04. 13. - 11:41:20
Sziasztok!


Az oldalam készítése során ismét megakadtam. A rész a Letöltések lenne, a kérdés pedig egy olyan lapozó script amit az UrbanFonts használ, ( http://www.urbanfonts.com/fonts/top-100-fonts.htm ). Az oldalra semmilyen tartalomkezelö rendszert nem szeretnék fölrakni, egy egyszerű szkriptre lenne szükségem egy kis használati / beágyazási magyarázattal.


Köszi, André


Cím: Re: JavaScript
Írta: Tupacko - 2009. 04. 14. - 10:03:42
A lapozo szkript megirasa, ez esetben, teljesen rajtad mulik. Kell egy valtozo, amivel megadod, hany elem jelenjen meg az oldalon: ez a szkriptben van, nem kulso valtozo. Kell egy olyan valtozo, ami GET-ben jon, ami meghatarozza, hanyadik oldalon vagy. Ellenorizd, hogy szam legyen! Amikor jon egy lapozos keres, akkor kiirod a megfelelo dolgokat:

Kód:
$elemSzam = 10;
$kezdoIndex = 0;

if ( isset($_GET['oldal']) && is_int((int) $_GET['oldal']) ){
  $kezdoIndex = $_GET['oldal']*$elemSzam;
}

...

SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT {$kezdoIndex}, {$elemSzam}

Valalmi hasonloban tod a fejed es meg jo lesz! :)


Cím: Re: JavaScript
Írta: Balou - 2009. 06. 27. - 14:09:50
Sziasztok!

Van egy kis problémám...van egy hide/see effekt-es JS-es menüm egy wp-s oldalon...viszont amikor rábökök egy menüpontra, ugye újratölti az egészet, aminek hatására az adott menü becsukódik...valakinek valami ötlet, hogy hogyan lehetne megoldani,hogy ezt ne tegye? A menü linkjei elég sokfélék, van,ahol /oldalneve van, de van, ahol egy post-kategória linkje,mert azt hívja meg...

Kód:
//** Tab Content script v2.0- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
//** Updated Oct 7th, 07 to version 2.0. Contains numerous improvements:
//   -Added Auto Mode: Script auto rotates the tabs based on an interval, until a tab is explicitly selected
//   -Ability to expand/contract arbitrary DIVs on the page as the tabbed content is expanded/ contracted
//   -Ability to dynamically select a tab either based on its position within its peers, or its ID attribute (give the target tab one 1st)
//   -Ability to set where the CSS classname "selected" get assigned- either to the target tab's link ("A"), or its parent container
//** Updated Feb 18th, 08 to version 2.1: Adds a "tabinstance.cycleit(dir)" method to cycle forward or backward between tabs dynamically
//** Updated April 8th, 08 to version 2.2: Adds support for expanding a tab using a URL parameter (ie: http://mysite.com/tabcontent.htm?tabinterfaceid=0)

////NO NEED TO EDIT BELOW////////////////////////

function ddtabcontent(tabinterfaceid){
this.tabinterfaceid=tabinterfaceid //ID of Tab Menu main container
this.tabs=document.getElementById(tabinterfaceid).getElementsByTagName("a") //Get all tab links within container
this.enabletabpersistence=true
this.hottabspositions=[] //Array to store position of tabs that have a "rel" attr defined, relative to all tab links, within container
this.currentTabIndex=0 //Index of currently selected hot tab (tab with sub content) within hottabspositions[] array
this.subcontentids=[] //Array to store ids of the sub contents ("rel" attr values)
this.revcontentids=[] //Array to store ids of arbitrary contents to expand/contact as well ("rev" attr values)
this.selectedClassTarget="link" //keyword to indicate which target element to assign "selected" CSS class ("linkparent" or "link")
}

ddtabcontent.getCookie=function(Name){
var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
if (document.cookie.match(re)) //if cookie found
return document.cookie.match(re)[0].split("=")[1] //return its value
return ""
}

ddtabcontent.setCookie=function(name, value){
document.cookie = name+"="+value+";path=/" //cookie value is domain wide (path=/)
}

ddtabcontent.prototype={

expandit:function(tabid_or_position){ //PUBLIC function to select a tab either by its ID or position(int) within its peers
this.cancelautorun() //stop auto cycling of tabs (if running)
var tabref=""
try{
if (typeof tabid_or_position=="string" && document.getElementById(tabid_or_position).getAttribute("rel")) //if specified tab contains "rel" attr
tabref=document.getElementById(tabid_or_position)
else if (parseInt(tabid_or_position)!=NaN && this.tabs[tabid_or_position].getAttribute("rel")) //if specified tab contains "rel" attr
tabref=this.tabs[tabid_or_position]
}
catch(err){alert("Invalid Tab ID or position entered!")}
if (tabref!="") //if a valid tab is found based on function parameter
this.expandtab(tabref) //expand this tab
},

cycleit:function(dir, autorun){ //PUBLIC function to move foward or backwards through each hot tab (tabinstance.cycleit('foward/back') )
if (dir=="next"){
var currentTabIndex=(this.currentTabIndex<this.hottabspositions.length-1)? this.currentTabIndex+1 : 0
}
else if (dir=="prev"){
var currentTabIndex=(this.currentTabIndex>0)? this.currentTabIndex-1 : this.hottabspositions.length-1
}
if (typeof autorun=="undefined") //if cycleit() is being called by user, versus autorun() function
this.cancelautorun() //stop auto cycling of tabs (if running)
this.expandtab(this.tabs[this.hottabspositions[currentTabIndex]])
},

setpersist:function(bool){ //PUBLIC function to toggle persistence feature
this.enabletabpersistence=bool
},

setselectedClassTarget:function(objstr){ //PUBLIC function to set which target element to assign "selected" CSS class ("linkparent" or "link")
this.selectedClassTarget=objstr || "link"
},

getselectedClassTarget:function(tabref){ //Returns target element to assign "selected" CSS class to
return (this.selectedClassTarget==("linkparent".toLowerCase()))? tabref.parentNode : tabref
},

urlparamselect:function(tabinterfaceid){
var result=window.location.search.match(new RegExp(tabinterfaceid+"=(\\d+)", "i")) //check for "?tabinterfaceid=2" in URL
return (result==null)? null : parseInt(RegExp.$1) //returns null or index, where index (int) is the selected tab's index
},

expandtab:function(tabref){
var subcontentid=tabref.getAttribute("rel") //Get id of subcontent to expand
//Get "rev" attr as a string of IDs in the format ",john,george,trey,etc," to easily search through
var associatedrevids=(tabref.getAttribute("rev"))? ","+tabref.getAttribute("rev").replace(/\s+/, "")+"," : ""
this.expandsubcontent(subcontentid)
this.expandrevcontent(associatedrevids)
for (var i=0; i<this.tabs.length; i++){ //Loop through all tabs, and assign only the selected tab the CSS class "selected"
this.getselectedClassTarget(this.tabs[i]).className=(this.tabs[i].getAttribute("rel")==subcontentid)? "selected" : ""
}
if (this.enabletabpersistence) //if persistence enabled, save selected tab position(int) relative to its peers
ddtabcontent.setCookie(this.tabinterfaceid, tabref.tabposition)
this.setcurrenttabindex(tabref.tabposition) //remember position of selected tab within hottabspositions[] array
},

expandsubcontent:function(subcontentid){
for (var i=0; i<this.subcontentids.length; i++){
var subcontent=document.getElementById(this.subcontentids[i]) //cache current subcontent obj (in for loop)
subcontent.style.display=(subcontent.id==subcontentid)? "block" : "none" //"show" or hide sub content based on matching id attr value
}
},

expandrevcontent:function(associatedrevids){
var allrevids=this.revcontentids
for (var i=0; i<allrevids.length; i++){ //Loop through rev attributes for all tabs in this tab interface
//if any values stored within associatedrevids matches one within allrevids, expand that DIV, otherwise, contract it
document.getElementById(allrevids[i]).style.display=(associatedrevids.indexOf(","+allrevids[i]+",")!=-1)? "block" : "none"
}
},

setcurrenttabindex:function(tabposition){ //store current position of tab (within hottabspositions[] array)
for (var i=0; i<this.hottabspositions.length; i++){
if (tabposition==this.hottabspositions[i]){
this.currentTabIndex=i
break
}
}
},

autorun:function(){ //function to auto cycle through and select tabs based on a set interval
this.cycleit('next', true)
},

cancelautorun:function(){
if (typeof this.autoruntimer!="undefined")
clearInterval(this.autoruntimer)
},

init:function(automodeperiod){
var persistedtab=ddtabcontent.getCookie(this.tabinterfaceid) //get position of persisted tab (applicable if persistence is enabled)
var selectedtab=-1 //Currently selected tab index (-1 meaning none)
var selectedtabfromurl=this.urlparamselect(this.tabinterfaceid) //returns null or index from: tabcontent.htm?tabinterfaceid=index
this.automodeperiod=automodeperiod || 0
for (var i=0; i<this.tabs.length; i++){
this.tabs[i].tabposition=i //remember position of tab relative to its peers
if (this.tabs[i].getAttribute("rel")){
var tabinstance=this
this.hottabspositions[this.hottabspositions.length]=i //store position of "hot" tab ("rel" attr defined) relative to its peers
this.subcontentids[this.subcontentids.length]=this.tabs[i].getAttribute("rel") //store id of sub content ("rel" attr value)
this.tabs[i].onclick=function(){
tabinstance.expandtab(this)
tabinstance.cancelautorun() //stop auto cycling of tabs (if running)
return false
}
if (this.tabs[i].getAttribute("rev")){ //if "rev" attr defined, store each value within "rev" as an array element
this.revcontentids=this.revcontentids.concat(this.tabs[i].getAttribute("rev").split(/\s*,\s*/))
}
if (selectedtabfromurl==i || this.enabletabpersistence && selectedtab==-1 && parseInt(persistedtab)==i || !this.enabletabpersistence && selectedtab==-1 && this.getselectedClassTarget(this.tabs[i]).className=="selected"){
selectedtab=i //Selected tab index, if found
}
}
} //END for loop
if (selectedtab!=-1) //if a valid default selected tab index is found
this.expandtab(this.tabs[selectedtab]) //expand selected tab (either from URL parameter, persistent feature, or class="selected" class)
else //if no valid default selected index found
this.expandtab(this.tabs[this.hottabspositions[0]]) //Just select first tab that contains a "rel" attr
if (parseInt(this.automodeperiod)>500 && this.hottabspositions.length>1){
this.autoruntimer=setInterval(function(){tabinstance.autorun()}, this.automodeperiod)
}
} //END int() function

} //END Prototype assignment


Cím: Re: JavaScript
Írta: Tupacko - 2009. 06. 27. - 18:37:56
Tudsz adni egy linket? :) Az a nagy helyzet, hogy ha JS menu, akkor nem igazan tudod "szerver oldalon kinyitni", amit a kliens kell lasson. Igazan ertelmet sem latom. Ez a Digg szeru navigacios dolog? Ha igen, akkor megoldhatod ugy, hogy megjegyzed valahol, melyik linkhez milyen alap menufelallitas talal es azt generalod, mint alap menu, amit a latogato megpillant. Pl. valami.hu/oldal1 = 1, valami.hu/oldal2 = 2, valami.hu/kategoria/kat = 3 Ha az oldal1 vagy oldal2 a latogatott oldal, egyszeru dolgod van. Amennyiben egy olyan bejegyzes van megnyitva, ami a kat kategoriaba tartozik, akkor azt a menut kell generald. Ezt egyszeru megtudni, van ra WP sablon fuggveny, amivel meg tudod kerdezni, milyen kategoriakhoz tartozik a bejegyes.
Sok sikert!


Cím: Re: JavaScript
Írta: Balou - 2009. 06. 27. - 19:20:29
Szia! Jelenleg itt van az oldal: www.probaoldal.misz.hu (http://www.probaoldal.misz.hu)

Maga a menü manuálisan van megírva, nem generált menüről van szó...egy verziót már találtunk, csak az a dinamikus linkeket nem kezeli le és így nem jó..


Cím: Re: JavaScript
Írta: Tupacko - 2009. 06. 28. - 11:06:08
Nalam semmi sem nyilik le, szoval nem tudom mar, mit is akarsz :) Ha jol ertem, neked az kell, hogy pl. ha van egy kategoria, akkor annak az aloldalait mutassa az almenuben, ha pedig egy oldal, akkor annak az aloldalait. Ezekre vannak WP sablon fuggvenyek. Ha ugy akarod, hogy csak akkor mutassa, ha az eger folemegy, vagy nem tudom milyen JSrol meseltel :), akkor azt szerver oldalon nem tudod megoldani ... nincs is amit, mert kliens oldalaon, az eger mozdulata szerint kell latszodjon.


Cím: Re: JavaScript
Írta: Balou - 2009. 06. 28. - 13:31:16
Bocsi, lemaradt a magyarázat fele valamiért...:S

Szóval, az oldalon belül a Szakágak fölső menüpontra bökj ;) annak a sidebar-jában van ez a fajta lecsúszós menü..


Cím: Re: JavaScript
Írta: AAron - 2009. 06. 28. - 14:00:06
Én Flashben szeretnék alkalmazni Lightbox JS-t.
Tehát hogy ha egy flash gombom van, és szeretném ha úgy használná ezt az efektet mint egy html-ben megírt gomb. Ez lehetséges?

közben megtaláltam:
már csak kivitelezni kellene.
http://blog.codefidelity.com/?p=18


Cím: Re: JavaScript
Írta: Tupacko - 2009. 06. 30. - 19:16:13
Balou: necces dolog, mivel JSt nem tudsz szerveroldalon futtatni :| Viszont azt megtudod oldani, hogy az oldal betoltodesere rateszed azt a fuggvenymeghivast, ami lenyitja a kello almenut (hasonlo keppen, mint amit regebb irtam): kikeresed a fokategoria IDjat, aminek a dobozat ki kell nyitani es beirod az onLoad eventre, hogy nyit('valami') ... legalabbis valami hasonlo modszerrel megoldhato, szerintem.

AAron: koszi, hogy megosztottad :)


Cím: Re: JavaScript
Írta: anatre - 2009. 07. 06. - 09:53:31
Elég nagy kér(d)ésem lenne, és sürget az idő is.
Elvállaltam egy hitelügyintézős oldal egy részét, csak a js (ajax?) részére nem gondoltam.

Szóval annyi lenne a dolog, hogy van 2 lenyiló menüm, Megye és Város kiválasztással.
Ezeket SQL-ben tárolom.
Ha kiválaszt az illető egy megyét, akkor azt kéne megoldani hogy frissités nélkül a városokhoz már csak azokat adja le, amelyek az adott megyékben vannak.
Ez megoldható lenne? Nem bánom ha komplett kóddal leptek meg, mivel mint mondtam nincs időm sz*rakodásra, de ha alaposan elmagyarázzátok úgy is jó, de én semmit nem értek a js hez (ajaxhoz).


Cím: Re: JavaScript
Írta: Tupacko - 2009. 07. 07. - 12:20:34
Már megbocsáss, de nem szarakodás, ha dolgozik az ember :) A fórum nem azért van, hogy mások megírják a kódpt, te ne tanulj semmit belőle és vedd fel a pénzt érte. Ha egy picit is utána néztél volna, akkor találtál volna jó AJAX leírásokat ... JSt nem is kell írj, csak PHPt, vannak kész AJAX lekérési kódok. Pl. http://www.w3schools.com/Ajax/Default.Asp

Sok sikert, nem nehéz.


Cím: Re: JavaScript
Írta: anatre - 2009. 07. 10. - 10:08:26
rendben. köszi <)