javascript slider menu
Sziasztok!
Az alabbi kerdessel fordulok hozzatok, mivel nem vagyok tul jartas javascriptben:
-javascripttel kene egy slidert megoldanom, viszont nem tudom, merre induljak el.
-jquery nem jatszik!!! :(
Amit tudok, hogy kellhet, de javitsatok ki, ha rosszul gondolom:
- egy css div, ami abszolut pozicioban van. Tehat ez lenne a keret, ami eltakar.
- Mellette felsorolva legyenek a tobbi divek a tartalommal. De hogy? display none?
Ket nyil, mely onmouseover/out ill. onclick esemenyre csinalna meg a mozgatast.
Mondjuk onmouseover-re a belso ido szamlalojat felgyorsitana, es igy uszna be a kovetkezo div. Onclickre pedig egybol valtana a kovetkezo div-re. Az meg csak plussz pont, ha az aktualis megjelenitett divhez kepest az elozo es a kovetkezo divbol belog egy kis resz.
Most kicsit utananeztem, nekem egy pontosan ilyet kene leprogramoznom: http://css-tricks.com/examples/MovingBoxes/
Arra a kinagyulasra feltetlenul nincs szuksegem. Kerlek segitsetek elindulnom valamerre, mert tanacstalan vagyok. Koszonom.
udv:
Anonym.
■ Az alabbi kerdessel fordulok hozzatok, mivel nem vagyok tul jartas javascriptben:
-javascripttel kene egy slidert megoldanom, viszont nem tudom, merre induljak el.
-jquery nem jatszik!!! :(
Amit tudok, hogy kellhet, de javitsatok ki, ha rosszul gondolom:
- egy css div, ami abszolut pozicioban van. Tehat ez lenne a keret, ami eltakar.
- Mellette felsorolva legyenek a tobbi divek a tartalommal. De hogy? display none?
Ket nyil, mely onmouseover/out ill. onclick esemenyre csinalna meg a mozgatast.
Mondjuk onmouseover-re a belso ido szamlalojat felgyorsitana, es igy uszna be a kovetkezo div. Onclickre pedig egybol valtana a kovetkezo div-re. Az meg csak plussz pont, ha az aktualis megjelenitett divhez kepest az elozo es a kovetkezo divbol belog egy kis resz.
Most kicsit utananeztem, nekem egy pontosan ilyet kene leprogramoznom: http://css-tricks.com/examples/MovingBoxes/
Arra a kinagyulasra feltetlenul nincs szuksegem. Kerlek segitsetek elindulnom valamerre, mert tanacstalan vagyok. Koszonom.
udv:
Anonym.
Miért
De ahogy én csinálnám:
Egy doboz, ami
overflow: hidden
. Abban van egy lista (OL
ill.UL
, kinek mi a szimpatikus, amiben vannak a képek). A listának adnék egy megfelelően nagy szélességet, mondjuk 32000px, így tutira nem fognak több sorba törni benne a képek. Az LI elemeket pedigfloat: left
-tel pakolnám benne egymás mellé, megfelelőmargin
-t illetvepadding
-ot választva. Az egész listát úgy pozicionálnám (position: absolute
), hogy az előző és a következő képből látszon még valamennyi. Ezek után a gombok megnyomására az egész elmozdulna (left
CSS tulajdonság) annyi pixelt (természetesen valamilyen animáció keretei között), hogy a következő kép legyen a középpontban (ekkor jó szolgálatot tehet, ha mindenLI
ugyanolyan széles).Ezek szerint egyáltalán nem kell, vagy nem feltétlenül kell?
Poetro, koszonom az eddigi
En nem azt kertem, hogy valaki irja meg helyettem, hanem hogy valaki segitsen. Pl A Te leirasod alapjan a css-t tok frankon osszeraktam, es koszonom is! Most probalkozok az animacioval. Ehhez tudsz esetleg mondani olyan fuggvenyt, ami kelleni fog? A bajom az, hogy js-ben nagyon nem vagyok otthon, ezert is kertem + feladatot, hogy tanulak belole. Gugliban szamomra normalis tutorial nem volt, magamtol jo par oran keresztul nem tudtam elindulni, ezert fordultam hozzatok.
jQuery-t es mas js frameworkot nem hasznalunk itt a cegnel, igy beszeltuk meg, csupan elvi okai vannak. Kerlek, most ne menjunk bele a reszletekbe. ( en azzal csinaltam volna meg es mar reg kesz lennek vele es soroznek.... :))
Émile
És kérlek áruld el, milyen elvi okok vezetnek ahhoz, hogy nem használtok keretrendszert. Magatokat szeretitek szívatni?
Atnezem, koszi. Igy
Igy dontottek a cegnel, hogy sajat kodot hasznalunk, mert azt teljesen ismerjuk, es ha kell turkalni benne ( ami eleg gyakori, mondvan a vezetoseg kitalal mindig valami ujat ) akkor egyszerubb a modositasa, kevesebb programsorbol all, es nyilvan ismered a sajat kododat. Valahol van benne igazsag.
így tutira nem fognak több
Eszerint feleslegesen keresgélek, nincs rá kulturált módszer, hogy minden kép egy sorba kerüljön?
Vagy ez, vagy táblázat egy sorral?
ezt ide akartad irni? Amugy
Miután Poetro hozzászólásából
white-space: nowrap
white-space: nowrap
használata a CSS-ben tökéletesen megoldja a problémát, amennyiben afloat: left
nem szükségszerű.Hm. Köszi, erre nem
Olvasd el a példához tartozó cikket
http://css-tricks.com/2223-moving-boxes/
Letötlheted a fileokat és átalakíthatod. Igaz ez jQuery, de azt nem tudtuk meg, hogy miért "nem jatszik".
A feladvány kapcsán volt egy
Ha jól értem, a feladat annyi, hogy néhány képet kell megjeleníteni egy csíkban úgy, hogy mozgatni lehessen diafilmszerűen a csíkot.
Úgy képzeltem a kivitelezést, hogy egy külső div fix szélességgel, overflow:hidden attribútummal, benne egy másik div, ami az összes képet tartalmazza, ezért jóval szélesebb, mint a külső. Ennek a belsőnek a relatív pozícióját javascript-ből állítgatnám (hogy mi váltaná ki a pozíció változtatását - kattintás v. csak az egér kurzor megfelelő elem fölé állítása - az most mellékes).
Ez eddig tetszik v. eleve hibás valahol az elmélet?
Ha tetszik, akkor itt a buktató: fogalmam sincs, hogyan lehetne a css-ben megadott poziciót növelni/csökkenteni úgy, hogy az kulturáltnak legyen nevezhető.
Ugyanis az elem.style.left értékét kellene változtatni, de ez string és az aktuális érték mögé oda kell írni a mértékegységét is (pl. elem.style.left="-200px").
Ráadásul, ha nem javascriptből állítom be, akkor nekem null stringet ad vissza a fenti attribútum lekérdezése... :-(
Persze lehet, hogy csak a maximalizmusom áldozata vagyok, mert nem akarok olyan megoldást, hogy kiveszem a style.left értékét, lecsapom a végéről a px-t, növelem/csökkentem valamennyivel, a kapott értékhez hozzácsapom a px-t és visszaírom.
Update: kicsit gányolva bár, de csak összehoztam! :-)
Íme a nagy mű!
Ha szépen megkérem a tisztelt errejárókat, megköpködnétek az alkotásomat? :-)
Ami biztos: FF3.6 és IE9 alatt működni látszik, IE9 compatibility módban biztosan nem megy, ez biztosan hiba, de nem volt türelmem (se tudásom egyelőre), hogy ilyen szinten rendbe tegyem.