387
Java programozas, javascript
  • Balage74
    #187
    Ha jól olvasom akkor két megoldást kínál az oldal:
    1. Ez egy sima html és javascript párosítás.
    Ez a html kód:
    <a href="#" class="button" onclick="javascript:showElement('v-menu')">
    <span>Click Here</span>
    </a>
    <ul id="v-menu" class="v-menu" style="display:none;">
    <li><a href="p1.html">Technology</a></li>
    <li><a href="p2.html">Design</a></li>
    <li><a href="p3.html">Css Gallery</a></li>
    <li><a href="p4.html">Entertainment</a></li>
    <li><a href="p5.html">Programming</a></li>
    </ul>

    az <ul> tagnál szereplő display:none fontos.
    A <head> részhez meg hozzá kell adni a jscriptet:
    <script type="text/javascript">
    function showElement(layer){
    var myLayer = document.getElementById(layer);
    if(myLayer.style.display=="none"){
    myLayer.style.display="block";
    myLayer.backgroundPosition="top";
    } else {
    myLayer.style.display="none";
    }
    }
    </script>


    A másik megoldás már a mootools javascript gyűjteményre épül (gondolom szebben fog kinézni)Ez a html menü kódja:
    <a href="#" class="button" id="toggle"><span>Click Here</span>
    </a>
    <ul id="v-menu" class="v-menu">
    <li><a href="p1.html">Technology</a></li>
    <li><a href="p2.html">Design</a></li>
    <li><a href="p3.html">Css Gallery</a></li>
    <li><a href="p4.html">Entertainment</a></li>
    <li><a href="p5.html">Programming</a></li>
    </ul>

    ehhez szükség van a <head> részben az általad letöltött mootools scriptgyűjtemény behívására :
    <script type="text/javascript" src="mootools.svn.js"></script>

    ezt a javascript kódot pedig közvetlenül a html menüd alá kell betenni:
    <script type="text/javascript">
    window.addEvent('domready', function(){
    var myMenu= new Fx.Slide('v-menu2');
    myMenu.hide();
    $('toggle').addEvent('click', function(e){
    e = new Event(e);
    myMenu.toggle();
    e.stop();
    });
    });
    </script>

    mindkét esetben a html-es részt úgy változtatod ahogy akarod, de a javascripteket ne piszkáld ha nem értesz hozzá:D


    A mootools-t most fejből nem tudom honnan lehet leszedni, de a google a barátod.... (gondolom mootools.org, de vagyok annyira lusta, hogy nem nézem meg neked, keresd meg te:D)
  • uiztu
    #186
    Helo!
    Találtam itt egy ilyen oldalt:
    http://woork.blogspot.com/2008/03/two-css-vertical-menu-with-showhide.html
    Ezt a menüt szeretném megcsinálni. Csak hát nem nagyon tudok angolul. Úgyhogy valaki eltudná mondani, hogy hogyan kell csinálni? Tehát, hogy mi kell hozzá, meg minden ilyesmi? Nagyon nagy segítség lenne.
  • Dj Faustus #185
    A Javascript egy kliensoldali szkriptnyelv (kvázi programozási nyelvként is felfogható). Arra szolgál, hogy azt az oldalt, amibe a Javascript-kódot beillesztetted módosítani tudd a látogató böngészőjéből.
    Akkor hasznos:
    * ha egyszerű animációkat akarsz elérni az oldal elemeivel (a Jquery, Moofx, scriptaculous Javascript függvénykönyvtárakkal könnyen lehet ilyesmiket csinálni)
    * ha az űrlapelküldése előtt le akarod ellenőriztetni hogy helyesen töltötték ki az űrlapot
    $ ha a felhasználótól űrlapról érkező adatokat ki akarod értékelni (számológép, konverter)
    * ha egy oldalon belüli elembe egy domainen belüli másik oldalt akarsz betölteni úgy, hogy a "hívó" oldalt nem töltöd újra
    * új popup ablak nyitására, kedvencekhez/könyvjelzőhöz/kezdőlapnak adás

    Szavazáshoz, fórumhoz, vendégkönyvhöz, chathez szerver oldali nyelv (PHP) is kell ugyanis a felhasználó által küldött adatokat a szerveren tárolni is kell.

    Leírások:


    - Ebben a jegyzetben szó esik a Javascriptről is
    - itt találhatsz előre megírt Javascript kódgyűjteményeket is
    - ez egy kódgyűjtemény Javascriptes része

    Mellesleg ne e-mailben (az e-mail cím megadása egyébként is ellenjavallt, könnyen spamek százaival találhatod magad szembe), MSN-nen, privát üzenetben várd a választ. Ez egy fórum.
  • uiztu
    #184
    Hellosztok!
    Én most szeretnék JavaScripteket készíteni az oldalamhoz. Csak nem tudok róla semmit. Hogy hogyan kell csinálni meg ilyesmi. Mert az oldalamra szeretnék egy támogatás JavaScriptet, szavazót meg ilyesmi. Ha valaki tud segíteni, leírást vagy ilyesmit az jó lenne. És az [email protected] e-mail címre küldjétek a válaszokat, vagy privát üzenetként. Remélem segítetek.
  • Balage74
    #183
    Sziasztok, szereztem egy faintos kis kódot ami lebegő ablakban jelenít meg egy szöveget, egyetlen hibája, hogy alapesetben nem középen jeleníti meg az ablakot, amit ugyan firefox alatt megoldottam de sajna ie alatt nem akar működni. Sajna javascripthez nem nagyon értek, csak a php tudásom alapján írtam át a scriptet ami a következő:

    <script type="text/javascript">

    var w_ww= window.innerWidth;
    var w_wh= window.innerHeight;

    var target_x =w_ww/2-75;
    var target_y =w_wh/2-75;

    var has_inner = typeof(window.innerWidth) == 'number';
    var has_element = document.documentElement && document.documentElement.clientWidth;

    var fm_id='floatdiv';
    var floating_menu =
    document.getElementById
    ? document.getElementById(fm_id)
    : document.all
    ? document.all[fm_id]
    : document.layers[fm_id];

    var fm_shift_x, fm_shift_y, fm_next_x, fm_next_y;

    function move_menu()
    {
    if (document.layers)
    {
    floating_menu.left = fm_next_x;
    floating_menu.top = fm_next_y;
    }
    else
    {
    floating_menu.style.left = fm_next_x + 'px';
    floating_menu.style.top = fm_next_y + 'px';
    }
    }

    function compute_shifts()
    {
    fm_shift_x = has_inner
    ? pageXOffset
    : has_element
    ? document.documentElement.scrollLeft
    : document.body.scrollLeft;
    if (target_x < 0)
    fm_shift_x += has_inner
    ? window.innerWidth
    : has_element
    ? document.documentElement.clientWidth
    : document.body.clientWidth;

    fm_shift_y = has_inner
    ? pageYOffset
    : has_element
    ? document.documentElement.scrollTop
    : document.body.scrollTop;
    if (target_y < 0)
    fm_shift_y += has_inner
    ? window.innerHeight
    : has_element
    ? document.documentElement.clientHeight
    : document.body.clientHeight;
    }

    function float_menu()
    {
    var step_x, step_y;

    compute_shifts();

    step_x = (fm_shift_x + target_x - fm_next_x) * .07;
    if (Math.abs(step_x) < .5)
    step_x = fm_shift_x + target_x - fm_next_x;

    step_y = (fm_shift_y + target_y - fm_next_y) * .07;
    if (Math.abs(step_y) < .5)
    step_y = fm_shift_y + target_y - fm_next_y;

    if (Math.abs(step_x) > 0 ||
    Math.abs(step_y) > 0)
    {
    fm_next_x += step_x;
    fm_next_y += step_y;
    move_menu();
    }

    setTimeout('float_menu()', 20);
    };

    compute_shifts();
    if (document.layers)
    {
    // Netscape 4 cannot perform init move
    // when the page loads.
    fm_next_x = 0;
    fm_next_y = 0;
    }
    else
    {
    fm_next_x = fm_shift_x + target_x;
    fm_next_y = fm_shift_y + target_y;
    move_menu();
    }
    float_menu();
    </script>
    Remélem van itt olyan ember akinek ez a kisujjában van és tud segíteni, nagyon megköszönném.
    igaz, hogy van valamelyik javascript gyűjteményben is hasonló kód ami működik is mindegyik böngészővel, de én ezt szeretném használni.
  • Kecskeee
    #182
    Üdv! Kósolgatom a honlapszerkesztés izeit.. és belefutottam 1-2 jó javascriptbe.. megnéztem egy javascript basic tutorialt.. de csak ilyen áttekintés képpen.. mivel nem akarok programokat irogatni, hanem elég a más mások által előre megírt cuccokat felhasználni.. persze ez mind freeware cucc.. csak akadt 1 kis problémám.. van 1-2 script ami nem hivatkozik utasításra.. hanem oda rakja be magát ahova ez a sor van írva..<script type="text/javascript" src="script.js"> </script> ami ált a head részben van.. és a külön scripteknek külön hívás indítójuk van a body részben.. csak van 1-2 script aminek nincs ilyen és rögtön a head részbe kezdi el beletenni a scriptet.. nekem olyan kéne, mint pl az 1ik script ami így hívja magát <script type="text/javascript">new imageclock.display()</script> és akkor ahova ezt bemásolom oda kerül a kis órácska.. de ha vmi másik sciptnek nincs ilyen "meghívó" utasítása alapban.. akkor az a head részhez berakja magát és kész..

    A kérdésem az lenne, hogy nagyobb programozási ismeret nélkül át lehet vhogy buherálni ezeket a scripteket úgy, hogy azok is az ilyen hívó sorokhoz kerüljenek ne rögtön a head részhez? Persze nem akarom az egész progit átírni, mert úgy se értem a fele utasítást.. csak mondjuk ha tudom, hogy az 1ik a neonlight() utasítással indul akkor arra kéne vmit átírni..

  • wcguru
    #181
    a dubla kacsacsőrt észrevettem közben és javítottam, de nem segített semmit...
  • wcguru
    #180
    Mi a baj ezzel a scripttel? Nem jövök rá...


    var princ;var ratepc;
    var years;
    function calcAmt(frm) {
    princ = frm.pr.value;
    ratepc = frm.rt.value;
    years = frm.yr.value;
    md = frm.md.value;
    frm.amt.value = ((princ*ratepc)/12)*0.08;
    frm.yr.value = (princ - 0) + (frm.amt.value - 0);
    frm.tars.value = (princ - 0)*0.20
    frm.fa.value = (md - 0)*0.20;
    frm.intr.value = (princ - 0) - ((md - 0) + (frm.fa.value - 0));

    --- innen rossz ---

    /* princ 20000 és 100000 között */if ((princ>=20000) && (princ<=100000)) {
    md = (princ - 0)*0.50;
    }
    /* princ 100001 és 300000 között */
    if ((princ>=100001) && (princ<=300000)) {
    md = (princ - 0)*0.30;
    }
    /* princ 300001 és 500000 között */
    if ((princ>=300001) && (princ<=500000)) {
    md = (princ - 0)*0.25;
    }
    /* princ 500001 és 2000000 között */
    if ((princ>>=500001) && (princ<=2000000)) {
    md = (princ - 0)*0.20;
    }
    /* princ 2000001 és 5000000 között */
    if ((princ>>=2000001) && (princ<=5000000)) {
    md = (princ - 0)*0.15;
    }
    /* princ 5000000-nál nagyobb */
    if ((princ>>=5000001)) {
    md = (princ - 0)*0.10;

    --- idáig rossz ---

    }
    }
    function checkRate(frm) {
    if (ratepc == 0 || ratepc > 60){
    window.alert("Üzenet")
    }
    }
    function checkRate(frm) {
    if (frm.pr.value == 0 || frm.pr.value < 20000){
    window.alert("Üzenet 2")
    }
    }
  • wcguru
    #179
    Sajnos nem érzékeli... üresen hagyja az md-t, mint ha nem is lenne ott kód...
  • Dj Faustus #178
    md = (princ - 0)*0.20
    helyett
    /* princ 20-nál nagyobb 100-nál kisebb */
    if ((princ>20) && (princ<100)) {
    md = (princ - 0)*0.50;
    }
    /* princ 300-nál nagyobb 500-nál kisebb */
    if ((princ>300) && (princ<500)) {
    md = (princ - 0)*0.20;
    }
  • wcguru
    #177

    A segítségeteket szeretném kérni, az alábbi problémámban:

    Kód:
    var princ;
    var ratepc;
    var years;
    function calcAmt(frm) {
    princ = frm.pr.value;
    md = frm.md.value;
    ratepc = frm.rt.value;
    years = frm.yr.value;
    frm.amt.value = ((princ*ratepc)/12)*0.08;
    frm.yr.value = (princ - 0) + (frm.amt.value - 0);
    frm.intr.value = (princ - 0)*0.80 + (frm.amt.value - 0);
    frm.tars.value = (princ - 0)*0.20
    md = (princ - 0)*0.20
    }
    function checkRate(frm) {
    if (ratepc == 0 || ratepc > 60){
    window.alert("Üzenet")
    }

    A fenti kód alapján az md a princ 20%-ka lesz... de én szeretném bővíteni azzal, hogy pl. ha a princ 20 és 100 között van, akkor az md a princ 50%-ka legyen, ha a princ 300 és 500 között van, akkor az md a princ 20 %-ka legyen stb...

    Hogyan kell? :-)

    Köszönöm szépen!
  • tamasir
    #176
    Szeretnék segítséget kérni, mivel nem vagyok járatos a javascript írásában illetve átalakításában.Feltöltöttem az oldalamra a JavaScript Kit :Overlap Image Viewer scripjét ( kisképre viszi a látogató az egeret és megjelenik e kép nagyíban. Működik rendesen, csak az a bajom, hogy vannak olyan képek amelyek kilógnak az oldalról, mert a script a kis kép felső szélétől indítja a nagy képet.Nem tudom mit kellene átalakítani, hogy az oldal közepére irányítsa a nagy képet.Az egyik oldalon találtam egy megfelelőt, működés közben. A forrásából kitudtam szedni a scriptet (previwe.js), de itt meg nem akar elindulni a lapomon a script. Flash Templates
    Ha tudna valaki segíteni valamelyikben nagyon megköszönném.
    tamasir~
  • Simaji
    #175
    Hello!

    Esetleg a Firefox-os Grease Monkey-el tudod megoldani de szerintem Java Script-el amúgy is másképp kell illetve lehet. :)

    Nem kattintasz hanem hivatkozol a gombra és úgy használod. :)
    Persze ez attól függ, hogy milyen az oldal pontosabban ahhoz képest kell megírni a Script-et.
  • weber
    #174
    Hali!
    Létezik olyan javascript, hogy mondjuk bejön egy oldal és egy meghatározott pontra kattint?
    Konkrétan Etarget hirdetésre szeretném felhasználni.
  • Mezy01
    #173
    Nagyon szépen köszönöm!
  • Dj Faustus #172
    De hogy lásd, milyen vajszívem van - ennyit kell beilleszteni a <body> és </body> tagek (ami a megfelelő helyen van...) közé:
    <script type="text/javascript">
    fok = 15;
    radian = fok * (Math.PI/180);
    koszinusz = Math.cos(radian);
    document.write(fok+' fok = '+radian+' radián, ennek koszinusza: '+koszinusz);
    </script>
  • Dj Faustus #171
    "Nem az alap html-el van a problémám, mert azt tanultam"
    Idéznélek:
    "<html>...<script language....> addig, hogy </script></html>."
    <body>? <head>?
    A <script> language attribútuma már elavult, ott a type attribútuma (type="text/javascript") helyette.

    Ha a document.write(Math.cos(15)) sem ír ki semmit, ott valamit kihagytál. Például a </script> taget a Javascript kód végéről.
  • Mezy01
    #170
    Még annyit, hogy én csak azt szerettem volna, ha valaki van olyan kedves és leírja nekem, hogy hogy kéne megjeleníteni, mert zh-ba kell. A javascriptet nagyjából tudom értelmezni, ha olvasni kell, de magamtól, segítség nélkül nem tudok írni programot.
    A html-el semmi gondom, mert azt elég jól ismerem.

    Ez lett volna a gondom.
    Köszönöm.
  • Mezy01
    #169
    Nem az alap html-el van a problémám, mert azt tanultam, hanem a javascripttel... bár azt is tanították már...
  • Dj Faustus #168
    "Azt tudom, hogy a Math.cos(15)-el kell, és azt is, hogy az radiánban lesz kiírva."
    Ha 15 fok koszinuszát szeretnéd tudni, a 15 helyére 0.2617993877991494 (ez 15° radiánban) kell (vagy az előbb említett módon átszámolni).
    A kimenet pedig nem radián lesz, hanem a radiánban megadott szög koszinusza.

    "Csak azt nem tudom, hogy ezt az egészet, hogy kellene a jegyzettömbben megjeleníteni a-tól z-ig. "
    Meg kéne tanulni a HTML nyelvet ([url=http://nagygusztav.hu/?q=web_programozas_jegyzet]#1[/url], [url=http://www.standardsmode.hu/]#2[/ur]) - legalább az alapjait. A nélkül nem megy.
    Ha tudsz már egy alapoldalt készíteni, tudod mi a <head> és a <body>, akkor már nekieshetsz a Javascriptnek.
  • Mezy01
    #167
    Azt tudom, hogy a Math.cos(15)-el kell, és azt is, hogy az radiánban lesz kiírva.
    Csak azt nem tudom, hogy ezt az egészet, hogy kellene a jegyzettömbben megjeleníteni a-tól z-ig. Onnantól kezdve, hogy <html>...<script language....> addig, hogy </script></html>.
    Merthogy hiába írom be, hogy <script type="text/javascript">
    document.write(Math.cos(15)), ha nem csinál semmit.
    Láttam már var változóval is a cos-t, de azt sem tudom megcsinálni...

    De nagyon köszönöm az eddigi hozzászólásokat!
  • Dj Faustus #166
    Hogy azért korrektek maradjunk:
    radian = fok * (Math.PI/180);
  • Dj Faustus #165
    "Math.cos(15) tudtommal. :)"
    Tévedsz, A Javascript (de a C, a Pascal, a PHP is - talán csak a LOGO a kivétel?) a szögeket radiánban számítja.
    Bővebben:




    Ha fokot szeretnél radiánra átszámolni:
    radian = fok * Math.PI/180;

    A Math.PI-ről:




    Az átváltásról:
  • Simaji
    #164
    Math.cos(15) tudtommal. :)

    Csak vigyázni kell, hogy a Math nagy betűvel kezdődik.
  • Mezy01
    #163
    Sziasztok!
    Szeretnék segítséget kérni:
    hogyan kell kiíratni a Math objektummal a cos(15 fok)-ot?
    Próbálkoztam vele, de kevéssé vágom a JS-et sajnos...

    Köszönöm előre is!
    Üdv, Mézy
  • Mac81
    #162
    Köszönöm szépen Faustus! Valóban műxik...
  • Dj Faustus #161
    Íme egy példa - az egyik HTML dokumentumban meg kell adnod a col paraméterben a szín nevét (blue, green, yellow), vagy hexadecimális kódját egy 0x karaktersorozat után (0xff77aa); illetve az ugrópontot (a #-tel jelölve).
    A másik dokumentumban meg el kell helyezned a Javascript függvénykönyvtárat, illetve az adott helyen a sort meg kell jelölnöd az id azonosítóval.
  • Dj Faustus #160
    "Konkrétan annyit szeretnék elérni, hogy egy adott html oldalon egy linkre kattintva egy másik html oldal egyik <a name>-el elátott részére ugorjon és ott az adott sor, ami egy id-val van megjelölve a kattintás hatására piros színű legyen. "
    No akkor:
    * <a name> nem kell. Elég, ha annak a sornak az id-ját adod meg (a kettőskereszt - # - után), amit megjelöltél, és ugorni akarsz.
    * Színváltás: esetleg ha a link paraméterében megadod, és a linkelt oldalon Javascripttel feldolgozod.
  • Mac81
    #159
    Sziasztok!

    Egy kis segítséget szeretnék kérni. JavaScript-ben sajnos nem vagyok jártas.
    A kérdésem az lenne, hogy az
    onclick="document.getElementById('akármi').style.color='bármilyen szín'"-vel csak az adott html dokumentumon belül tudok hivatkozni az adott elem id-jára, vagy meg tudom adni egy másik html dokumentumon lévő id elem azonosítóját is valahogy?
    Konkrétan annyit szeretnék elérni, hogy egy adott html oldalon egy linkre kattintva egy másik html oldal egyik <a name>-el elátott részére ugorjon és ott az adott sor, ami egy id-val van megjelölve a kattintás hatására piros színű legyen. Szóval a kérdésem az lenne, hogy hogyan tudom ezt megcsinálni JavaScriptben?

    Köszönöm!
  • sucha
    #158
    Hi!
    Lightboxban valaki már találkozott olyannal, hogy nem ment IE alatt, csak firefox alatt?
    Mi lehet a gond? Más oldalon láttam már működni Lightboxot IE-n...
  • Pianista
    #157
    Hy!

    az a problémám hogy 1 ideje az internet explorer 7 em nem nyitja meg a javascript -eket, vagyis rámegyek de nem csinál semmit ah tud valaki valami orvoslást erre pls segítsen.
  • Aknádá
    #156
    Igazából akkoriban (régen volt) eléggé meg volt terhelve a számítógép, de szerintem tuti attól volt...
    Meg én nem értek a böngészőkhöz, azzal foglalkozom amim van, amire rájövök hogy kell az Operát használni nos, addig az eltelik egy hosszabb idő...
  • phoenix1
    #155
    Amióta az eszemet tudom Operát használok, párhuzamossan Firefoxal, IE, Lynx, Konqueror. Nem ebbe sorrendbe, de igen. :xD
    Miért adod fel azért mert lefagyott a számítógép, sok mindentől lehet amiért lefagyott, lehet, hogy nem is az Opera volt a hibás. Ilyenkor érdemes körülnézni, kitakarítani a gépben. Ugye egy dögledező lóra te sem teszel már nyerget?
  • Aknádá
    #154
    de nme szólok, bele nem nagyon értek a böngészőkhöz...
  • Aknádá
    #153
    oké, oké, értem, én Firefoxot használok, és még soha nem volt vele semmi gond, remélem nem is lesz.
    Operát még nem használtam, na jó egyszer, akkor fagyott le a számítógépem, meg minden aztán az utánna olvasással arra a következtetésre hutotttam hogy nem annyira jó, bár mondjuk a Firefox is néha KIBÍRHATATLAN!
    de nagyon elkanyarodtunk a témától....
  • Dj Faustus #152
    "de az Opera nem megbízható, rengeteg hiba van vele, lassú is"
    Hát azért ezt nem jelenteném ki annyira biztosra.
    A Firefox memory leakjeivel lassabb, az IE különböző sérülékenységeivel, webes nyelvekkel való inkompatibilitásaival kevesebb.

    Az Opera egy egészen kellemes böngésző (na jó, a Firefox is az ;) ).
    Nem mintha védeni akarnám bármelyik böngészőt.

    "A böngészőmbe "Opera" a lapok betöltése közben a Java hibát jelez!"
    Ez nem feltétlenűl a böngésző hibája - a 3. legelterjedtebb böngészőre nem optimalizálni az oldalt a fejlesztő hibája.
  • Aknádá
    #151
    tudom hogy a Java nem Javascript, de az Opera nem megbízható, rengeteg hiba van vele, lassú is, nekem nem jött be, próbáld más böngészővel is!
    Pl. Internet Explorer, Firefox stb...
  • PyRex
    #150
    java nem javascript.
  • lorant1980
    #149
    Szevasztok!!!

    Lehet, hogy nem a legjobb helyre írok, de hátha...!
    A böngészőmbe "Opera" a lapok betöltése közben a Java hibát jelez! Az új van fent (de a régebbivel is ugyan ezt csinálta)..., természetesen a Java engedélyezve van!

    Please HELP...! Tanácstalan vagyok!!!

    Üdv...
  • Aknádá
    #148
    kösz :)