Finestre Modali JQUERY
Finestre Modali JQUERY postato il 09/09/2011 21:08:23 nel forum programmazione, open source e hosting
Salve ragazzi,
Da poco mi sono "buttato" nel mondo Jquery e quindi come potete capire le mie conoscenze sono molto grezze in merito.
Sto imparando un po alla volta soltanto che sono arrivato in un intoppo.
Diciamo che mi sono cimentato nella creazione di finestre modali...in che modo:
1)Una volta chiamata una determinata finestra modale,quest'ultima non può più essere creata,ma bisogna attendere che quest'ultima venga chiusa per riaprirla nuovamente.
2)Voglio creare, come spero si sia capito, più finestre modali...
In poche parole il codice che ho scritto è questo:
ContaFM = new Array();
var FM = new Array();
function tuttoModale(id, pagina){
var cond = false;
var i = 0;
for(var i=0; i<ContaFM.length; i++){
if(ContaFM[i]==id){
cond = true;
i=ContaFM.lenght;
}
}
i = ContaFM.length;
ContaFM[i] = id;
if(!cond){
generaModale(i);
}
}
function generaModale(i){
var fm = '<div id="fm_cont_'+i+'" class="fm_cont">';
fm +='<div id="fm_a_s_'+i+'" class="fm_a_s"></div>';
fm +='<div id="fm_a_c_'+i+'" class="fm_a_c"></div>';
fm +='<div id="fm_a_d_'+i+'" class="fm_a_d"></div>';
fm +='<div id="fm_c_s_'+i+'" class="fm_c_s"></div>';
fm +='<div id="fm_c_c_'+i+'" class="fm_c_c"></div>';
fm +='<div id="fm_c_d_'+i+'" class="fm_c_d"></div>';
fm +='<div id="fm_b_s_'+i+'" class="fm_b_s"></div>';
fm +='<div id="fm_b_c_'+i+'" class="fm_b_c"></div>';
fm +='<div id="fm_b_d_'+i+'" class="fm_b_d"></div>';
fm +='</div>';
FM[i] = $(fm);
FM[i].appendTo("body");
$('#fm_cont_'+i).draggable();
}
Mentre invece il codice nella homepage è questo:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript" src="js/jquery.js"></script>
<script language="javascript" src="js/jqueryui.js"></script>
<script language="javascript" src="js/utility.js"></script>
<link rel="stylesheet" href="css/css.css" type="text/css" />
</head>
<body>
<a href="#" onclick="tuttoModale(1, 'ciao.php');">Ciao</a><br>
<a href="#" onclick="tuttoModale(2, 'ciao2.php');">Ciao2</a><br>
</body>
</html>
Qual'è il problema?..Xk non mi visualizza la finestra modale???
Ovviamente il codice è molto grezzo,sto all'inizio....ma vorrei capire l'intoppo.
Il file che ho scritto si trova in js/utility.js
Ps:Se cancello la concatenazione della variabile "i" vicino ai div,funziona tutto alla meraviglia,ma appunto a me serve che vengano generati più div,e per identificarli,mi serve appunto cambiargli l'id...no??...
Datemi voi qlk consiglio..
Per raggiungere il sito:
www.nandomoccia.altervista.org ↗
grazie in anticipo
Pagine → 1
09/09/2011 23:57:57 e modificato da leoblacksoul il 10/09/2011 00:05:34
Non è vero che il tuo script non funziona. L'ho appena testato e ho visto il codice dei tuoi <div> comparire nell'HTML della pagina.
Semplicemente le tue finestre modali non hanno nessuno stile quindi sono trasparenti e di dimensione 0. Mettigli un bordo e settagli una larghezza e un altezza e le vedrai comparire.
Javascript è perfetto, è il CSS che non funziona. Tutte le direttive CSS che hai scritto sono fatte così:
#fm_cont #fm_c_c{
position:absolute;
display:block;
overflow:auto;
background-color:white;
width:85%;;
height:87%;
top:30px;
left:30px;
}
Ma dato che tutte le tue finestre modali hanno id fatti così: fm_cont_0, fm_cont_1, ovviamente il browser non applica lo stile da te definito. Le direttive CSS devono specificare esattamente l'id del l'elemento a cui devono dare stile, usare solo metà del nome non vale XD
Nel tuo codice usi draggable(), un plugin di JqueryUI. Capisco e incoraggio la tua voglia di provare a farlo da solo, però perchè non usi http://jqueryui.com/demos/dialog/ ↗ anche il plugin Dialog, che è fatto apposta per creare finestre, sia modali che non?
10/09/2011 10:52:09
Sono un deficiente lo so...u.u.....ho settato ora meglio il css e io che mi scervellavo cercando di capire qual'era il mio errore.
Cmq Leo ti ringrazio infinitamente e comunque no...ho già visto il metodo dialog() etc...
Ma il mio intento oltre a creare una mia finestra modale partendo appunto da 0 che credimi mi da molte soddisfazioni,è imparare anche ad usare questo framework^_____^....e piano piano allargare le mie conoscenze.
Sarebbe scontato fare .dialog()....ma più incontro errori,più li risolvo,e più imparo.....
Non so se hai afferrato il mio concetto...molte volte non riesco ad essere perfetto nelle mie esposizioni.
10/09/2011 12:29:57
nodd ha scritto: Sono un deficiente lo so...u.u.....ho settato ora meglio il css e io che mi scervellavo cercando di capire qual'era il mio errore.
Cmq Leo ti ringrazio infinitamente e comunque no...ho già visto il metodo dialog() etc...
Ma il mio intento oltre a creare una mia finestra modale partendo appunto da 0 che credimi mi da molte soddisfazioni,è imparare anche ad usare questo framework^_____^....e piano piano allargare le mie conoscenze.
Sarebbe scontato fare .dialog()....ma più incontro errori,più li risolvo,e più imparo.....
Non so se hai afferrato il mio concetto...molte volte non riesco ad essere perfetto nelle mie esposizioni.
Più che altro così impari javascript "puro", e se vuoi usare jQuery per fare 2 shortcuts mi sa che non ha nemmeno senso usarlo :p
10/09/2011 12:31:54
airon,l'intento è anche quello :P...
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Raja Dunia ↗
RAID Shadow Legends ↗
CRSED: F.O.A.D. ↗
Tibia ↗
Tiles Survive ↗