Ciao ragazzi, buongiorno.
Sto sviluppando un sito responsive e ho la necessità nella pagina di galleria di mostrare a tutto schermo l'immagine che l'utente sceglie.
Vedere allegato per il risultato atteso.
La X chiude il div di Overlay e relativa immagine, il div di overlay ha colore sfondo a piacere.
Sono riuscito a fare quasi tutto; il problema è che l'immagine non riesco a dargli una grandezza esatta(non voglio che sia fissa). In pratica voglio che se è più grande delle dimensioni dello schermo allora la metto più piccola, se invece l'immagine è più piccola allora la mostro con le dimensioni reali.
Spero di essere stato chiaro
Porzione di codice HTML
codice:
<div class="overlay" id="overlay" style="display: none;">
</div>
<div class="box" id="box">
<a class="boxclose" id="boxclose"></a>
</div>
Porzione di codice CSS
codice:
.overlay
{
background: black;
opacity: .5;
position: fixed;
top: 0px;
bottom: 0px;
left: 0px;
right: 0px;
z-index: 100;
}
.box
{
position: fixed;
top: -200px;
left: 0;
background-color: #fff;
color: #7F7F7F;
padding: 20px;
margin:20px;
border: 2px solid #ccc;
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
-khtml-border-radius: 20px;
-moz-box-shadow: 0 1px 5px #333;
-webkit-box-shadow: 0 1px 5px #333;
z-index: 1;
}
a.boxclose
{
float: right;
margin-top: -30px;
margin-right: -30px;
cursor: pointer;
color: #fff;
border: 1px solid #AEAEAE;
border-radius: 30px;
background: #605F61;
font-size: 31px;
font-weight: bold;
display: inline-block;
line-height: 0px;
padding: 11px 3px;
}
.boxclose:before
{
content: "×";
}
Porzione di codice JAVASCRIPT
codice:
$('.image').on('click', function () {
var img = $('<img />', { src: this.src,
'class': 'fullImage'
});
$("#box").append(img);
$('#overlay').fadeIn(200, function () {
$('#box').animate({ 'top': '0px' }, 200);
});
return false;
});
$('#boxclose').click(function () {
$('#box').animate({ 'top': '-200px' }, 500, function () {
$("#box img:last-child").remove();
$('#overlay').fadeOut('fast');
});
});
p.s. aiutatemi sono disperato
Grazi a tutti
Buon lavoro