Keresés

Részletes keresés

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)
crockl Creative Commons License 2013.07.09 0 0 5034

ujra kell mond a $('#sortable') -n, hogy .sortable(...) Amugy pedig, ha egy select-ort tobbszor is hasznalsz, akkor mindenkepp rakd ki 1 valtozoba, vagy hivd lancolva, aho lehet, tehat ne kelljen tobbszor megkeresnie a dom-ban. var sortTable = $('#sortable'); sortTable .append(...)..., hasonloan az info -ra, bar ebben az esetben tudod lancoltan hivni az egeszet.

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

Help! Van egy ul, ami jQuery UI sortable. Ehhez append-del hozzá fűzök egy új li elemet. Ez megtörténik, meg is jelenik, de ekkor triggerelni kellene a sortable-t, hogy rögzítse az új elem pozícióját. Ez nem megy.

 

A kódom:

 

    function addQu( quID ){
        $.post('kerdes-lista.php', { todo: 'add', qnid: 2, quid: quID }, function (data){
            var json = $.parseJSON(data);
            $('#sortable').append($(json.newQu).hide().fadeIn(250));        // ez fűzi az új li elemet az ul-hez, OK
            $('#info').html( json.stat );
            $('#info').fadeIn(100).delay(1400).fadeOut(1000);                     // ez megjeleníti, hogy siker van
            $('#sortable').trigger('stop');                                                           // ez nem megy
            $('#moreQu').trigger('click');                                                            // ez OK
        });
    };

 

A stop helyén járt már receive és update is, de nem működnek. Ha magát a sortable-t rendezem kézzel, rendben működik és az új elem helyét is elküldi a szervernek MySQL-be mentésre.

 

Rengeteget gugliztam, de nem találtam megoldást. Van, ahol azt írják, hogy a update-nek és a sortstopnak működnie kellene (pedig a widget API-jában nincs is sortstop esemény), van ahol azt, hogy ezt nem lehet triggelni.

 

So what?

kockagolyo Creative Commons License 2013.07.08 0 0 5032

Onloadra futtasd le az ablak méretének lekérdezését, majd ezt tedd el egy változóba, aztán ha kell a kép, akkor ezzel a változóval állítod be, hogy mekkora felbontás meg miegyéb kell. Biztos ami biztos, onresize-ra is ráteheted ezt az eseménylezelőt. Vagy egy kicsit bonyolultabbat, mivel a már meglévő képeket is nagy valószínűséggel újra kell majd töltened.

Előzmény: m_kovacs (5031)
m_kovacs Creative Commons License 2013.07.08 0 0 5031

Köszönöm a választ,keresem a megoldást.

m_kovacs

Előzmény: kockagolyo (5030)
kockagolyo Creative Commons License 2013.07.06 0 0 5030

"a PHP függvény második paramétere egy javascript függvény return értéke"

Nem.

Előbb a PHP fut a szerveren, aztán a JS a kliensen. De még ha valahogy behajtasz PHP alá egy JS futtató környezetet, azzal se fog menni pár dolog. Például a screen dolgai. Szóval ezt gondold újra.

Előzmény: m_kovacs (5029)
m_kovacs Creative Commons License 2013.07.06 0 0 5029

Tisztelt hozzáértők!

Némi segítséget szeretnék kérni ismét.

Lehet ilyet csinálni?

Pl:  <img src="php-finction(kep URL,javascrit függvény return értéke)"   alt="Új, átméretezett kép" /> 

kicsit bővebben :a kép src egy PHP függvény return értéke,DE nem egy fizikailag létező file!

a PHP függvény második paramétere egy javascript függvény return értéke   

PL:<img src="php-function(kep URL,javascript:getWindowWidth() )"   alt="Új, átméretezett kép" />

<img src=<?php php-function(kep URL,javascript:getWindowWidth() ) ?>   alt="Új, átméretezett kép" />  //ez így működne?

Köszönettel m_kovacs

crockl Creative Commons License 2013.07.04 0 0 5028

JQuery-t nezd meg, ha azt irod, az mar amugy is van. A $.load() $.get() stb fugvenyeket. http://jquery.com vagy http://www.w3schools.com/jquery/jquery_ajax_load.asp -on is van, de inkabb a hivatalosat ajanlom.

Előzmény: F1DO (5027)
F1DO Creative Commons License 2013.07.04 0 0 5027

Sziasztok,

 

Hátha tudtok segíteni:
Meg lehet valósítani Javascript+AJAX-al egy olyan működést, hogy egy weboldal a szöveg (+ esetleg szöveg közbeni kép) tartalmát pl egy txt file-ból, (nem muszáj .txt-nek lennie, de talán ez a legkézenfekvőbb) vagy egy WYSIWYG editorral szerkesztett html-ből töltse be?
A lényeg az lenne, hogy egyszerű módon a weboldal gazdája tudja módosítani a weboldal információit/tartalmát.
Mivel már adott egy HTML+CSS+JQuery plugin-ekkel teletűzdelt, kialakult megjelenéssel, 'design'-al rendelkező oldal, így jó lenne ha nem kellene teljesen átszabni pl PHP-s alapokra.

És ha ez megoldható, akkor az AJAX avagy HTML környékén mégis merre induljak el, melyik téma foglalkozik az ilyen file kezeléssel?
Ahogy nézegettem példákat azt találtam, hogy létezik valami FileAPI a legújabb html leírásban. (ami pl itt található: [link]) és részben ezzel oldják meg a filekezelést.
Arra sajnos nincs most idő, hogy hosszasan belemélyedjek az AJAX rejtelmeibe (bár tudom ezt kellene) ezért is próbáltam elsőre, hogy kész példakódokat nézegetek-elemzek, ám nem találtam pontosan ilyen megvalósítást még.

izé68 Creative Commons License 2013.07.02 0 0 5026

Nem! Dehogy házi.

Egész más területen dolgozom. A HTML-t is könyvből tanultam autodidakta módon.

Leginkább akkor közelítem meg  leginkább a felhasználási célt, ha azt mondom okatatás. (Ezúttal nem az én oktatásom)

Mégegyszer köszi!

Előzmény: Béla kolléga (5023)
izé68 Creative Commons License 2013.07.02 0 0 5025

Köszönöm a segítséget!

Bár kell még egy kis idő, míg rendberakom mi miért van, de szerintem így már boldogulok.

:)

m_kovacs Creative Commons License 2013.07.02 0 0 5024

Köszönöm szépen a segítséget, emésztem a dolgot.(a kapott eredményeket)

 m_kovacs

Előzmény: NevemTeve (5018)
Béla kolléga Creative Commons License 2013.07.02 0 0 5023

Ez házi feladat volt?

Előzmény: Béla kolléga (5022)
Béla kolléga Creative Commons License 2013.07.02 0 0 5022

Na jó, kicsit több sor lett.

 

<HTML>
<HEAD>
<SCRIPT language="JavaScript">
var megall = 'nem'; var elozo = -1; var temakor = -1;
window.setInterval(
function(){
if( temakor > -1 ){
if( megall == 'nem' ){
elozo = Math.round( 100 * Math.random() );
// ez módosítható annyiban, hogy az előzőhöz képest más témakör legyen, egy while ciklussal mondjuk
document.getElementById( "kep" ).value = 'Kép sorszáma : ' + elozo;
if( Math.floor( elozo / 10 ) == temakor ){
megall = 'igen';
document.getElementById( "kep" ).value += ' klikk ide!';
}
}
}
} ,
1000
);
function valaszt( ez_a_gomb ){
if( temakor == -1 ){
temakor = ez_a_gomb.value;
ez_a_gomb.parentNode.innerHTML = '<INPUT type="button" id="temakor" value="ures">';
document.getElementById( "temakor" ).value = 'Választott témakör : ' + temakor;
}
}
</script>
</head>
<BODY>
<DIV>
<INPUT type="button" value="0" onclick='valaszt( this )' />
<INPUT type="button" value="1" onclick='valaszt( this )' />
<INPUT type="button" value="2" onclick='valaszt( this )' />
<INPUT type="button" value="3" onclick='valaszt( this )' />
<INPUT type="button" value="4" onclick='valaszt( this )' />
<INPUT type="button" value="5" onclick='valaszt( this )' />
<INPUT type="button" value="6" onclick='valaszt( this )' />
<INPUT type="button" value="7" onclick='valaszt( this )' />
<INPUT type="button" value="8" onclick='valaszt( this )' />
<INPUT type="button" value="9" onclick='valaszt( this )' />
</div>
<BR />
<INPUT type="button" id="kep" value="ures" onclick='if(megall=="igen"){megall="nem"}'>
</body>
</html>

Előzmény: izé68 (5020)
Béla kolléga Creative Commons License 2013.07.02 0 0 5021

Miért nem csak a képeket változtatod?

10 témakör, amiből az elején választani kell, minden egyes témakörhöz 10 kép van, ha jól emlékszek.

 

témakör = x; előzőtémakör = y; megáll = nem;

másodpercenként(

        ha megáll == nem

                előzőtémakör = véletlenszám

                (véletlenszám egy ciklussal addig, amíg eltérő nem lesz az előzőhöz képest)

                kép betöltése

                ha azonos a kiválasztott témakörrel, akkor hozzácsatolni egy eseményt (indít), megáll = igen

)

 

indít függvény(

        megáll = nem

)

 

Stimmt? Ha igen, akkor fordíts le JS-re!

Előzmény: izé68 (5020)
izé68 Creative Commons License 2013.07.02 0 0 5020

Aki ért hozzá, annak biztos nem bonya, de én csak a HTML kódokat ismerem.

Két scriptem van is. Az egyik időzít, a másik véletlenszerűen válogat, de sehogy sem tudom együtt működésre bírni őket.

Pontosabban azt nem tudom elérni, hogy az időzítés lefutása után magától lépjen tovább.

A véletlen generátorom csak klikkre hajlandó működni:

 

var a=new Array;
var i;
a[0]="china001.html";
a[1]="china002.html";
a[2]="china003.html";
a[3]="china004.html";
a[4]="china005.html";
a[5]="china006.html";

 

i=Math.floor(6*Math.random());
document.writeln("<a href='"+a[i]+"'>LINK</a>");

 

Az időzítőm pedig csak konkrét lapra hajlandó linkelni:

 

var ido=6
var id
function start() {
id=setTimeout("muvelet()",ido*1000);}
function muvelet() {window.location.reload('001.html');}

 

Össze lehet ezeket egyáltalán fésülni?

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