Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  jquery modal window märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 08.06.2010 02:20:50 jquery modal window vasta tsitaadiga

kuidas teha nii, et klikkides lingile tuleb overlay ja siis mingi etteantud suurusega aken, milles avaneb teine url... aga seal aknas peab saama surfata nagu oleks tegu tavalise popupiga, kuni vajutada sulge nuppu või linki... peale sulgemist peab parent ennast refreshima!

keegi aru üldse sai mida ma taga ajan? ma selles teemas võhik...

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
inzinz
HV kasutaja

liitunud: 26.01.2005




sõnum 08.06.2010 08:10:50 vasta tsitaadiga

Jup, tegu tavalise modal asjaga. Googles näiteid ja valmis tehtud asju palju, aga üldine teooria on selline, et see modal asja lahti võttev javascripti funktsioon esmalt sisestab body elemendi lõppu selle poolläbipaistva layeri, mida saab teha nii:
$('body').append('<div id="modal-layer"></div>');
Stiil on miskit taolist:
#modal-layer {
  position:absolute;
  background:#000;
  left:0;
  top:0;
  bottom:0;
  right:0;
  z-index:1000;
  opacity:0.45;
  -moz-opacity:0.45;
  filter:alpha(opacity=45);
}

See siis tekitab poolläbipaistva layouti kõikide muude asjade peale mis on ilusti äärest ääreni.

Selle keskse vaate saad teha <iframe src="aadress"></iframe> elemendiga. Näiteks $('body').append('<div id="popup-container"><div id="popup-title">Pealkiri<div id="popup-close" onclick="closepopup()"></div></div><iframe frameborder="0" width="500" height="400" src="http://www.neti.ee/"></iframe></div>');

closepopup teeb midagi taolist: $('#popup-container').remove();$('#modal-layer').remove();document.location.reload();//reloadi tahtsid teha peale sulgemist
Lisaks on vaja sellist stiili:
#popup-container {
  position:absolute;
  width:500px;
  z-index:1000;/*z-index peab olema suurem kui modal-layeri oma*/
  left:300px;
  top:200px;
}
#popup-title {
  width:500px;
  text-align:left;/*muu pealkirja stiil*/
}
#popup-close {
  float:right;
  width:20px;
  height:20px;
  background:url(kuvatava 20x20 sulgemise nupu aadress) no-repeat;
}


Muidugi sa saad kohe peale popup-container lehele sisestamist teha ka erinevaid mõõtmisi ja arvutusi et paigutada avanenud popup ala korrektselt keskele: $('#popup-container').css('left', Math.floor(($(document).width()-$('#popup-container').width())/2)+'px');

Õppimise mõttes on huvitav ise proovida järgi katsetada, aga kui asjaga kiire, siis miski olemasolev asi google otsingutulemustest võttes on palju kiirem ja rohkem läbi testitud variant.

_________________
Upload.ee - eestimaine failiupload
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
kullar
HV kasutaja
kullar

liitunud: 26.11.2006



Autoriseeritud ID-kaardiga

sõnum 08.06.2010 08:26:21 vasta tsitaadiga

midagi sellist, kuhu saad panna, iframe, pildi, swf'i vms http://fancybox.net/. Lisaks on olemas thickbox,shadowbox,colorbox jne. Ma küll peast ei tea kas nad kõik sinu soovitud varianti toetavad, kuid esimene kindlasti.
_________________
Online Perekonna Eelarve, Keerukamad veebipõhised infosüsteemid jms
Kommentaarid: 27 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 25
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 08.06.2010 09:43:37 vasta tsitaadiga

ma seda thickboxi proovisin, kuid niikui kuhugi lingile klikkisin, kadus see modal ära ja kogu browser suunati sinna uuele lingile...
_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 08.06.2010 09:54:25 vasta tsitaadiga

inzinz,

ma ei saa su näidetest absull aru. kuhu ma selle jquery scripti panema pean?

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 08.06.2010 11:07:59 vasta tsitaadiga

Paned avaneva akna sisuks iframe ja sellele annad vastava URLi ette? Muudmoodi nagu ei saa ju suvalist lehte brausida.
_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 08.06.2010 11:11:26 vasta tsitaadiga

Renka no see tõmbab divi modalisse... tahan nii, et seal modalis avaneks uus fail.php ja kui ma seal fail.php -s mingile lingile klikin, siis see link avaneb seal samas modalis...

EDIT: KRT RENKA SIIN MUUDAB OMA POSTE


oot, kas sinna div sisse iframe?

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 08.06.2010 11:13:46 vasta tsitaadiga

keevitaja, divi sisse iframe jah. nii saad suvalises veebis tingi surfata.

Kui tahad oma saidi siseselt siis tuleks ehk ajaxiga lahendus natuke viisakam.

_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 08.06.2010 11:26:18 vasta tsitaadiga

vaja jah oma saidi siseselt... ehk siis uploadi aken, millele saab kaasa anda eri parameetreid ja erinevatel lehtedel vaja teda välja kutsuda.
_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 08.06.2010 11:32:22 vasta tsitaadiga

aga kuidas sellist asja teha, et kui vaja formiga mingi string sisestada. ok, saan panna selle formi divi sisse, kuid seda stringi peab ka php abil kontrollima, et ta näiteks tühi ei ole või ei sisalde keelatud märke ja siis errori kuvama. kas seda saab kah ainult iframega teha?
_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 08.06.2010 21:01:13 vasta tsitaadiga

link :: thickbox hack

leidsin ideaalse lahenduse...

http://jquery.com/demo/thickbox/

seal thickbox.js failis tuleb ära häkkida funktsioon: function tb_remove()
esimise reana funktsiooni sisse kirjutada

parent.location.reload(1);

javascript:
  1. function tb_remove() {
  2.         parent.location.reload(1);
  3.         $("#TB_imageOff").unbind("click");
  4.         $("#TB_closeWindowButton").unbind("click");
  5.         $("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});
  6.         $("#TB_load").remove();
  7.         if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
  8.                 $("body","html").css({height: "auto", width: "auto"});
  9.                 $("html").css("overflow","");
  10.         }
  11.         document.onkeydown = "";
  12.         document.onkeyup = "";
  13.         return false;
  14. }


ja nüüd iga kord kui modal window suletakse, siis refreshitakse parent. muideks selleks, et iframe välja modalis kutsuda, piisab lingist:

<a href="proov.php?id=see_on_id&keepThis=true&TB_iframe=true&height=250&width=400" title="see on test" class="thickbox">testime...</a> 

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
kullar
HV kasutaja
kullar

liitunud: 26.11.2006



Autoriseeritud ID-kaardiga

sõnum 09.06.2010 00:11:34 vasta tsitaadiga

fancyboxile oli see iframe asi ju kohe sisse ehitatud ja ei vajanud mingit hacki.
_________________
Online Perekonna Eelarve, Keerukamad veebipõhised infosüsteemid jms
Kommentaarid: 27 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 25
tagasi üles
vaata kasutaja infot saada privaatsõnum
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 09.06.2010 00:15:47 vasta tsitaadiga

No enamustele jquery pluginatele on võimalik ju ka eventi peale miskit koodi jooksutada (callback) ja ei pea midagi häkkima. icon_confused.gif icon_rolleyes.gif Näiteks onClose vmt
_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 09.06.2010 09:30:30 vasta tsitaadiga

kullar kirjutas:
fancyboxile oli see iframe asi ju kohe sisse ehitatud ja ei vajanud mingit hacki.


ok, ma uurin seda asja kah. ma pole ennem nendega kokku puutunud ja teadmised hetkel 0

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 09.06.2010 19:43:29 vasta tsitaadiga

kullar, kuidas sellel fancyboxil saab panna parenti reloadima kui modal iframe suletakse?
_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 09.06.2010 19:50:39 vasta tsitaadiga

keevitaja, onClosed callback on ju olemas.
javascript:
  1.         $("#selector").fancybox({
  2.                 onClosed : function() {
  3.                         // kood mida kasti sulgemisel käivitada
  4.                         // Näiteks sulle sobib vist:
  5.                         parent.location.reload(1);
  6.                 }
  7.         });

_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 10.06.2010 22:26:26 vasta tsitaadiga

teen edusamme icon_lol.gif
aga ei saa iframe width ja height paika. kui panen 'width' : '300', siis tehakse modal pikem kui mu browseri aken on. mis valesti on? tahaks nagu 300 pixlit pikkuseks!

html:
  1. <?php
  2. session_start();
  3. $_SESSION['kala']++;
  4. ?>
  5.         <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
  6.         <script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.2.pack.js"></script>
  7.         <script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.1.js"></script>
  8.         <link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.1.css" media="screen" />
  9.         <link rel="stylesheet" href="style.css" />
  10.         <script type="text/javascript">
  11.         $(document).ready(function() {
  12.                         $("#upload").fancybox({
  13.                                 'width'    : '30%',
  14.                                 'height'                        : '60%',
  15.                                 'autoScale'               : false,
  16.                                 'transitionIn'    : 'none',
  17.                                 'transitionOut'  : 'none',
  18.                                 'type'        : 'iframe',
  19.         'onClosed' : function() {
  20.                     parent.location.reload(1);
  21.                   }
  22.                         });
  23.     });
  24.   </script>
  25. </head>
  26. <?php echo $_SESSION['kala']; ?><br>
  27. <a id="upload" href="upload.php">upload</a>
  28. </body>
  29. </html>

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
neros
HV Guru
neros

liitunud: 26.11.2003




sõnum 13.06.2010 10:12:52 vasta tsitaadiga

300? mida? pikslit? m tähemärki? ekraanikõrgust?

pane lihtsalt "px" lõppu and you're golden icon_wink.gif

_________________
GitHub
.NET Core & Azure baasil lahendused ja arhitektuur - kontakt.
Kommentaarid: 48 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga

sõnum 08.02.2011 19:18:40 vasta tsitaadiga

Kuidagi ei saa jqueris .dialog akent välja kutsuda klikkides pildile! Button'iga töötab kenasti, seega ei tohiks jquery koodis viga olla.

Ehk mul on pildike mille klõpsamise peale peaks jquery modal aken välja hüppama. Ühest näitest jäi silma <a id="modal_ava" href="#">Kliki</a> mis peaks teoorias olema sama mis <button id="modal_ava"> ?

Või saab kuidagi <a href="javascript:TuleVälja();"> stiilis teha? icon_biggrin.gif
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 08.02.2011 21:28:59 vasta tsitaadiga

näita koodi.
jquery-ui on hea lihtne

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  jquery modal window
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.