Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [zlecę] - przeróbka prostego kodu .js
DawPi
post 16.03.2009, 04:48:57
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 6.05.2007
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Witam,
interesuje mnie przeróbka kodu .js:
Kod
var menu=function(){
    var t=15,z=50,s=6,a;
    function dd(n){this.n=n; this.h=[]; this.c=[]}
    dd.prototype.init=function(p,c){
        a=c; var w=document.getElementById(p), s=w.getElementsByTagName('ul'), l=s.length, i=0;
        for(i;i<l;i++){
            var h=s[i].parentNode; this.h[i]=h; this.c[i]=s[i];
            h.onmouseover=new Function(this.n+'.st('+i+',true)');
            h.onmouseout=new Function(this.n+'.st('+i+')');
        }
    }
    dd.prototype.st=function(x,f){
        var c=this.c[x], h=this.h[x], p=h.getElementsByTagName('a')[0];
        clearInterval(c.t); c.style.overflow='hidden';
        if(f){
            p.className+=' '+a;
            if(!c.mh){c.style.display='block'; c.style.height=''; c.mh=c.offsetHeight; c.style.height=0}
            if(c.mh==c.offsetHeight){c.style.overflow='visible'}
            else{c.style.zIndex=z; z++; c.t=setInterval(function(){sl(c,1)},t)}
        }else{p.className=p.className.replace(a,''); c.t=setInterval(function(){sl(c,-1)},t)}
    }
    function sl(c,f){
        var h=c.offsetHeight;
        if((h<=0&&f!=1)||(h>=c.mh&&f==1)){
            if(f==1){c.style.filter=''; c.style.opacity=1; c.style.overflow='visible'}
            clearInterval(c.t); return
        }
        var d=(f==1)?Math.ceil((c.mh-h)/s):Math.ceil(h/s), o=h/c.mh;
        c.style.opacity=o; c.style.filter='alpha(opacity='+(o*100)+')';
        c.style.height=h+(d*f)+'px'
    }
    return{dd:dd}
}();

Na taki by poszczególne pozycje menu: http://pieron.pl/menu/ otwierały się dopiero po kliknięciu myszką.

Swoje propozycje cenowe wraz z terminem proszę przesyłać na PW ew. mail: dawid [at] pieron.pl

Dziękuję i pozdrawiam,
DawPi


--------------------
intermedia - profesjonalne rozwiązania Invision Power Board
Go to the top of the page
+Quote Post
zegarek84
post 16.03.2009, 09:21:56
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


zamień
Kod
h.onmouseover=new Function(this.n+'.st('+i+',true)');

na:
Kod
h.onclick=new Function(this.n+'.st('+i+',true)');


a jeśli chcesz płacić to ile uważasz ^^ - możesz na pw napisać - ale to jak chcesz ;p


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
DawPi
post 16.03.2009, 11:12:09
Post #3





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 6.05.2007
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Widzisz, to było pierwsze, co sprawdziłem. Ty nie sprawdziłeś. tongue.gif

Owszem - po kliknięciu się dopiero rozwija, ale przy próbie najechania na rozwinięte menu - owe się chowa. smile.gif


--------------------
intermedia - profesjonalne rozwiązania Invision Power Board
Go to the top of the page
+Quote Post
webdice
post 16.03.2009, 16:57:03
Post #4


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Przenoszę z działu Giełda ofert / Kupię.
Go to the top of the page
+Quote Post
DawPi
post 17.03.2009, 02:17:31
Post #5





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 6.05.2007
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Oferta nieaktualna - przyszła jedno zgłoszenie z tego forum.


--------------------
intermedia - profesjonalne rozwiązania Invision Power Board
Go to the top of the page
+Quote Post
zegarek84
post 17.03.2009, 13:19:49
Post #6





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


czasem sobie robię skrypto zakładki i przyznaję że nie zerknąłem czy tamto działa - ale trochę po tych obiektach tam mało czytelnie się przemieszczasz - taka jedna ze skryptozakłądek która doda zdarzenia tam gdzie trzeba:
Kod
javascript:function pokaz(r,ul){if(ul){c=r}else{c=r.getElementsByTagName('ul')[0]};c.style.display='block';c.style.opacity=1; c.style.overflow='visible';};w=document.getElementById('menu'),li=w.getElementsByTagName('li'),s=w.getElementsByTagName('ul'),l=s.length,i=0,a=0;function klik(){while(li[i]){if(t=li[i].getElementsByTagName('ul')[0]){t.onmouseover=function(){pokaz(this,1)};li[i].onclick=function(){pokaz(this);return false};li[i].onmouseout=function(){c=this.getElementsByTagName('ul')[0];c.style.display='none';c.style.opacity=0; c.style.overflow='hide';};++a};++i;}};klik();


wczoraj byłem w pracy i wróciłem nad ranem dlatego nie mogłem zerknąć ;p - ale masz też inną metodę winksmiley.jpg

ps - tutaj są dodane zdarzenia tylko tam gdzie da się rozwinąć - a więc będzie można kliknąć na normalne linki a tam gdzie są rozwijanę to je zestopuje winksmiley.jpg

Ten post edytował zegarek84 17.03.2009, 13:23:31


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
DawPi
post 17.03.2009, 13:22:03
Post #7





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 6.05.2007
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Dziękuję. smile.gif Może przyda się innym. Ja już to zleciłem. smile.gif


--------------------
intermedia - profesjonalne rozwiązania Invision Power Board
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.08.2025 - 20:53