Keresés

Részletes keresés

NevemTeve Creative Commons License 2013.07.26 0 0 5064

Erre találták ki a százalékos méretmeghatározást, de ha programból akarod, akkor az előző programocska bizonyára segít (a resize függvényt tanulmányozd).

Előzmény: m_kovacs (5063)
m_kovacs Creative Commons License 2013.07.26 0 0 5063

Köszönöm!

Sajnos  öregszem, nem mindíg tudok világosan fogalmazni.

Az alapötlet az volt, hogy egy javascript függvény megállapítja a felbontást, és annak ismeretében adja meg a betöltendő kép új méreteit. Felhasználói beavatkozás

nélkül.

Pl:<img   src="kep.jpg"  alt="" title="xy" border="0" style="width:500px;height:168px;">

Ez a méret nem felel meg az adott felbontásanak, annak ismeretében más méretekkel kellene a képet betölteni.

Erre jöt az ötletem, s kérdeztem, hogy megvalósítható e valahogy.

<img   src="kep.jpg"  alt="" title="xy" border="0" style="width:javascript:uj_meret(500);height:javascript:uj_meret(168);"> (ez most szintaktikailag nem helyes)

A lényeg, nem fix méret, hanem függvénnyel előállított mérettel kellene a képet betölteni.

Köszönettel m_kovacs

 

 

Előzmény: NevemTeve (5062)
NevemTeve Creative Commons License 2013.07.26 0 0 5062

na jó, ennyit a fórummotorról. második próba:

<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CharSet=iso-8859-2"/>
<script>
function resize (name, w, h)
{
    var fld= document.getElementById (name);
    fld.style.width= w;
    fld.style.height= h;
}
</script>
</head>
<img id="arrow" src="arrow.png">
<button onclick="resize('arrow','2cm','3cm')">2cm x 3cm</button>
<button onclick="resize('arrow','100px','100px')">100px x 100px</button>
</body></html>

Előzmény: NevemTeve (5061)
NevemTeve Creative Commons License 2013.07.26 0 0 5061

Pl:

<html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CharSet=iso-8859-2"/> <script> function resize (name, w, h) { var fld= document.getElementById (name); fld.style.width= w; fld.style.height= h; } </script> </head> <img id="arrow" src="arrow.png"> <button onclick="resize('arrow','2cm','3cm')">2cm x 3cm</button> <button onclick="resize('arrow','100px','100px')">100px x 100px</button> </body></html>

Előzmény: NevemTeve (5060)
NevemTeve Creative Commons License 2013.07.26 0 0 5060

Milyen függvényre?

Ha a betöltés során akarsz HTML-t írni, akkor használhatod a document.write-ot a kód belsejében:

 

<script>document.write ('<img...>');</script>

 

a betöltés után már nem használható a document write.

Előzmény: m_kovacs (5059)
m_kovacs Creative Commons License 2013.07.26 0 0 5059

Köszönöm. Ezt napok óta próbálom, de nem működik. lehet hogy szintaktikai hibám van.(width idézőjellel kezd, javascript idézőjelben,) Nem kerül a függvényre a vezérlés. Onclickre működik, a függvény jó értéket ad.

köszönettel m_kovacs

Előzmény: NevemTeve (5058)
NevemTeve Creative Commons License 2013.07.25 0 0 5058

Mondjuk beleírod a HTML-be: <img style="width: 12cm">

Előzmény: m_kovacs (5057)
m_kovacs Creative Commons License 2013.07.25 0 0 5057

Tisztelt hozzáértők!

Meg lehetne e azt csinálni, hogy az img width, height értékeknek javascript funkcióval  adjak értéket. Figyelembe véve azt, hogy -megbízható források szerint- a scriptek(function) csak valamilyen eseménykor futnak.(onclick,onload,onmouse... stb) Az onload úgy tudom, amikor az image már betöltődött, akkor keletkezik.

Valahogy betöltődés előtt kellene értéket adni a width, height értékeknek.Pl. width:javascript:meret1();  height:javascript:meret2(); 
Köszönettel m_kovacs

 

m_kovacs Creative Commons License 2013.07.25 0 0 5056

Köszönöm.Reggel óta próbáltam néhány hasonló megoldást, sikertelenül. Ez működik.

Köszönettel m_kovacs

Előzmény: NevemTeve (5055)
NevemTeve Creative Commons License 2013.07.25 0 0 5055

Annak a helyére kerülhet a függvényhívás:

<a href='' onclick="javascript:href=myveryownfunction(someparam)">Kattins ide -- masvalami.html</a>

Előzmény: m_kovacs (5053)
crockl Creative Commons License 2013.07.24 0 0 5054

document.getElementById('id')

Előzmény: Törölt nick (5050)
m_kovacs Creative Commons License 2013.07.24 0 0 5053

Köszönöm válaszát.Fárasztó volt ez a nap, meg a hőség is nyomja az agyamat, lehet hogy ezért, de első olvasatra nem kristálytiszta számomra a javaslata.

Ha a 'masvalami.html' egy konstans hivatkozás, akkor nem vagyok előbbre. Alszom rá, hátha megvilágosodom.

Köszönettel m_kovacs

Előzmény: NevemTeve (5052)
NevemTeve Creative Commons License 2013.07.24 0 0 5052

Esetleg így:

<a href='' onclick="javascript:href='masvalami.html'">Kattins ide -- masvalami.html</a>

Előzmény: m_kovacs (5051)
m_kovacs Creative Commons License 2013.07.24 0 0 5051

Tisztelt hozzáértők! Már megint elakadtam,kérem a segítségüket.

 

<a title="xyz" href="xyz.php" > <img id="kep" src="images/mult1.jpg" width='100%'  onmouseover="this.src='images/mult2.jpg'" onMouseOut="this.src='images/mult1.jpg'" target="_self" ></a>

Ez a sor működik! DE én a felbontástó függően a href-be dinamikusan szertnék file-nevet generálni.Na ez már nem működik. A file-név megszületik, létező file, csak nem tudom hogy kell rávennem, hogy betöltődjön.

 

<a title="xyz" href="javascript:felbontas('xyz')" > <img id="kep" src="images/mult1.jpg" width='100%'  onmouseover="this.src='images/mult2.jpg'" onMouseOut="this.src='images/mult1.jpg'" target="_self" ></a>

 

Köszönettel m_kovacs

Törölt nick Creative Commons License 2013.07.24 0 0 5050

Sziasztok! Egy kérdésem lenne, de előrebocsátom, hogy nem vagyok nagy javascript szakértő.

 

A feladat az, hogy link1, 2, n fölé vive az egeret link default automatikusan megváltozzon, ami Chrome-ban, Firefoxban működik is, de IE-ben nem.

 

Jelenleg így néz ki a kód:

 

link 1,2, n:

 

<a href="a.html" onmouseover="document.links['id'].href='1.html'; document.images['id'].src='images/1.jpg'">text1</a>

<a href="b.html" onmouseover="document.links['id'].href='2.html'; document.images['id'].src='images/2.jpg'">text2</a>

(...)

<a href="n.html" onmouseover="document.links['id'].href='n.html'; document.images['id'].src='images/n.jpg'">textn</a>

 

link default:

 

<a href="a.html" id="id"><img src="images/1.jpg" id="id"/></a>

 

Előre is köszönök minden segítséget!

 

 

 

m_kovacs Creative Commons License 2013.07.15 0 0 5049

Köszönöm.Közben kipróbáltam egy ciklussal,  nem lett jobb.

Találtam egy PHP-s megoldást, list($width, $height) = getimagesize($filename);  első kipróbálás után úgy gondolom,

hogy ezzel meg tudom oldani a feladatot.

Köszönettel m_kovacs

Előzmény: DJG (5048)
DJG Creative Commons License 2013.07.14 0 0 5048

Nem. Két okból: egyfelől honnan tudnánk, hogy 1 másodperc, több, mennyi? Másfelől, a böngészőben a JS egy szálon fut. Szigorúan tilos megvárakoztatni, mert akkor nem reagál a felhasználóra. Éppen ezért nincs is olyan a JS-ben, amivel tudnál várakozni (van egy időzítő, de az is visszahívással operál, tehát semmivel nem vagy előrébb, sőt, mint a korrekt módon).

 

Jobb ehhez hozzászokni már a kezdet kezdetén, mert ahogy mondtam, minden így megy a JS-ben; úgysem lehet kikerülni.

 

1. lépés

2. lépés

3. lépés: visszahívás = (

  4. lépés

  5. lépés

  6. lépés: visszahívás = (

    7. lépés

    8. lépés

    9. lépés

    )

  )

 

Mindened alapvetően ilyen lesz, sőt, még ilyenebb, mert közben a hibalehetőségeket is le kell kezelned, hogy mi van, ha valamelyik lépés nem sikerült...

Előzmény: m_kovacs (5047)
m_kovacs Creative Commons License 2013.07.14 0 0 5047

Azt nem lehetne, hogy a 2. és 3. közt valamekkora időzítést (pl:1- sec) bépíteni?

köszönettel m_kovacs

Előzmény: DJG (5045)
m_kovacs Creative Commons License 2013.07.14 0 0 5046

Nagyon szépen köszönöm a kimerítő magyarázatot!

m_kovacs

Előzmény: DJG (5045)
DJG Creative Commons License 2013.07.14 0 0 5045

Egyébként, amibe ilyenkor bele szoktál futni, az a JS aszinkron működése. Ez néha jól jön, néha kifejezetten kellemetlen, de akárhogy is van, a JS ilyen, ezt számításba kell venni. Ha veszel egy ilyen elvi utasítássort:

 

1. csinálunk egy képet

2. beleolvasunk valamit

3. lekérdezzük a méretét

4. csinálunk vele valamit

 

az nem fog működni. Ugyanis a 2. elmegy valahova a háttérbe beolvasni, de te rögtön továbblépsz a harmadikra, és amikor lekérdezed a méretét, az a kép még messze nem olvasódott be, tehát nem fogsz érvényes értéket kapni vissza. A JS-ben minden ilyesmit így kell megoldani:

 

1. csinálunk egy képet

2. megkérjük, hogy olvassa be.

2a. megmondjuk, hogy majd ha beolvasta, hol szóljon vissza, hogy értesítsen az eredményről

3. egyébként továbbmehetünk, és csinálhatunk mást, de nem függhetünk a 2a eredményétől

 

Ha például úgy kell továbbmenned, hogy igenis szükséged van a beolvasás eredményére, akkor nincs 3. pont. Akkor a 2a-ban kell felhasználnod az eredményt, és ott menni tovább annak ismeretében.

Előzmény: m_kovacs (5042)
DJG Creative Commons License 2013.07.14 0 0 5044

Nem, nem lehet. És végig a böngészőben levő méreteket kérdezgeted, nem a kép tényleges méretét (ha arra van szükséged), tehát ez így, ahogy van, nem is fog menni soha.

 

Picture = new Image();
Picture.src = 'path';
Picture.onload = function() {

  // Picture.width

  // Picture.height
};

 

És újfent elmondom, amit már annyiszor: szerintem, aki kezdő JS-ben, az is csak jQuery-vel próbálkozzon. Régóta nincs már semmi értelme a nyers JS dolgaival bajmolódni.

Előzmény: m_kovacs (5038)
m_kovacs Creative Commons License 2013.07.14 0 0 5043

Tévedtem, Firefox alatt is hibás.

m_kovacs

Előzmény: m_kovacs (5042)
m_kovacs Creative Commons License 2013.07.14 0 0 5042

Megint elakadtam.Így már működik FF alatt.Viszont Google Crome ban a működése kiszámíthatatlan.
Mivel ez a funkció többször futhat egymás után,kiszámíthatatlanul a Crome-ban az utolsó két sor időnként 0-át ad.
IE10 alatt ki sem tudom próbálni, az meg a window.open.... re allergiás. Most olvasok,olvasok,olvasok...(és anyázok!)
Köszönettel m_kovacs

function popuponclick(param1)  // a  param1 a kép URL-je
   {
    var param=param1;
    var newImg = document.createElement('img');
    newImg.setAttribute('id', 'kep');
    newImg.setAttribute('src',param );
    if (!document.getElementById('kep'))
        document.body.appendChild(newImg) ;
     else
       {
       var element = document.getElementById("kep");
       element.parentNode.removeChild(element);
       document.body.appendChild(newImg) ;
       }
    var kep_width=document.getElementById("kep").width ;
    var kep_height=document.getElementById("kep").height ;

crockl Creative Commons License 2013.07.13 0 0 5041

nem olvasod. nem sortable('update');, hanem a .sortable({opciok}), ergo ujra epited.

Előzmény: hellsing (5035)
m_kovacs Creative Commons License 2013.07.12 0 0 5040

Köszön szépen a segítségét!!!

m_kovacs

Előzmény: kockagolyo (5039)
kockagolyo Creative Commons License 2013.07.11 0 0 5039

Nem raktad bele a létrehozott képet (newImg) a DOM fába (appendChild), ezért nem találja.

Előzmény: m_kovacs (5038)
m_kovacs Creative Commons License 2013.07.11 0 0 5038

Hááát ..,nem könnyú a kezdők élete!

Megint elakadtam. Kérdés:lehet e egyáltalán javascript-ben lekérdezni egy,még be nem töltött kép méreteit?

Igy próbálkoztam: (részlet)

function popuponclick(param1)  // a  param1 a kép URL-je
   {
    var param=param1;
    var newImg = document.createElement('img');
    newImg.setAttribute('id', 'kep');
    newImg.setAttribute('src',param );
     alert(param);
      alert(newImg.id);
     alert(newImg.src) ;
    var kep_width=document.getElementById('kep').width ;

 

Sajnos az utolsó sorra nyelvet öltött, s ezt üzente:   "document.getElementById(...) is null"

 

Köszönettel m_kovacs

DJG Creative Commons License 2013.07.11 0 0 5037

A doksi szerint az update eseménynek tűnik, akkor viszont trigger("update") lenne a hívása.

Előzmény: hellsing (5035)
hellsing Creative Commons License 2013.07.09 0 0 5036

Mármint mondjam újra az egész sortable cuccot, ami a sima rendezésez kell?

 

$(document).ready(function() {
    $('#sortable').sortable({
        update : function () {
            var order = $.param({ 'qnid': 2 })+'&'+$('#sortable').sortable('serialize');
            $.post('kerdes-sorrend.php', order, function (data){
                $('#info').html(data).fadeIn(100).delay(1400).fadeOut(1000);
            });
        }
    });
    $('#sortable').disableSelection();
});

Előzmény: hellsing (5035)
hellsing Creative Commons License 2013.07.09 0 0 5035

Hogy kell újra mondanom? Próbáltam ezt:

 

$(sortTable).append($(json.newQu).hide().fadeIn(250)).sortable('update');

 

...de (jogosan) azt mondja a FB, hogy nincs ilyen metódus. Van refresh, de az nem elég. A triggerre viszont nem történik semmi.

Előzmény: crockl (5034)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!