2011-11-18 26 views
7

No soy particularmente bueno con jQuery, por lo que una solución de código completa sería ideal.JQuery para establecer un ancho máximo dinámico

la función:

  1. obtener el ancho del 70% de la pantalla del navegador.
  2. Convierta ese ancho en su valor de px correspondiente
  3. Establezca el ancho máximo del #mainContainer utilizando el valor obtenido de la conversión/cálculo.

Aquí es el estilo CSS para el contenedor Quiero configurar 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; 
} 

Respuesta

25

Usted debe ser capaz de copiar y pegar esto dentro de una etiqueta <script> en cualquier lugar de la página donde se tiene jQuery y se debería funcionar ..

$(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

hacer yo simplemente tiene que codificar esto en un documento JS luego vincularlo con el html. nada más se necesita? – Teffi

+0

@Saver, déjame hacer una solución de copiar y pegar. – Esailija

+3

¿no debería ser "max-width" en lugar de "maxWidth"? – dsdsdsdsd

2

o definir una función para el 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>

Cuestiones relacionadas