2011-11-18 9 views
7

Non sono particolarmente adatto a jQuery, quindi una soluzione di codice completa sarebbe l'ideale.JQuery per impostare A Dynamic max-width

la funzione:

  1. ottenere la larghezza del 70% dello schermo del browser.
  2. Converti quella larghezza nel corrispondente valore px
  3. Imposta la larghezza massima di #mainContainer utilizzando il valore ottenuto dalla conversione/calcolo.

Qui è lo stile CSS per il contenitore che voglio impostare max-width con:

#mainContainer { 
    background-image: url(bg3.jpg); 
    background-repeat: repeat; 
    background-color: #999; 
    width: 70%; 
    padding: 0; 
    min-width: 940px;  /* 940px absolute value of 70%. */ 
    margin: 0 auto; 
    min-height: 100%; 
    /* Serves as a divider from content to the main container */ 
    -webkit-border-radius: 10px; 
    border-radius: 10px; 
} 

risposta

25

Si dovrebbe essere in grado di copiare incolla questo all'interno di un tag <script> qualsiasi punto della pagina in cui si dispone di jQuery e dovrebbe funzionare ..

$(document).ready(function(){ 
    setMaxWidth(); 
    $(window).bind("resize", setMaxWidth); //Remove this if it's not needed. It will react when window changes size. 

    function setMaxWidth() { 
    $("#mainContainer").css("maxWidth", ($(window).width() * 0.7 | 0) + "px"); 
    } 

}); 
+0

fanno devo solo per codificare questo in un documento js poi collegarlo al codice HTML. non serve più niente? – Teffi

+0

@Saver, permettimi di creare una soluzione di copia incolla. – Esailija

+3

non dovrebbe essere "max-width" invece di "maxWidth"? – dsdsdsdsd

2

O definire una funzione per l'evento window.onresize

window.onresize = function() { 
 
    var newWidth = ($(window).width() * .7); 
 
    $("#mainContainer").css({ 
 
    "maxWidth": newWidth 
 
    }); 
 
}
#mainContainer { 
 
    background-color: #999; 
 
    width: 70%; 
 
    padding: 0; 
 
    min-width: 30px; 
 
    /* 940px absolute value of 70%. */ 
 
    margin: 0 auto; 
 
    min-height: 100%; 
 
    /* Serves as a divider from content to the main container */ 
 
    -webkit-border-radius: 10px; 
 
    border-radius: 10px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="mainContainer">-</div>