проблема windowResize - PullRequest
       3

проблема windowResize

1 голос
/ 22 января 2011

Я хочу, чтобы поле настройки веб-браузера оставалось левым.Я использую windowResize, но как отрегулировать поля слева, даже если пользовательские нажимают кнопку восстановления в веб-браузере?Я загружаю 2 снимка экрана для объяснения.alt text первое изображение, я открываю веб-браузер, но не максимизирую, поэтому на странице создаем окно «Изменить размер» и подсчитываем поле слева, затем я нажимаю на окна, чтобы развернуть, затем получаю второе изображение alt text, но содержимоецентр страницы.Как сделать правильное изменение размера окна?Спасибо.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="jquery-1.4.4.min.js"></script>
    <script type="text/javascript">  
    jQuery(document).ready(function() {    
       var width = document.body.clientWidth;   
       windowResize(width);   
       $(window).resize(function() {      
           windowResize(width);      
           }); 
       });  
    function windowResize(width) {   
    if(width>1024){      
    $('#content').css({        
       'margin-left':(width-1024)/2+32 + 'px'      
       });  
    }else{
        $('#content').css({        
       'margin-left': 32 + 'px'      
       });
    }
    } 
    </script> 
    </head>
    <body>
    <style>  
    body, #box{min-width:1024px;width:100%;}  
    #content{float:left;width:960px;height:300px;background-color:#F00;}   
    </style>  
    <div id="box">  
    <div id="content">
        some words
    </div>  
    </div>  
    </body>  
    </html>  

1 Ответ

1 голос
/ 22 января 2011

Я заметил одну вещь: этот код будет вызывать только windowResize с начальной шириной:

jQuery(document).ready(function() {    
   // this value will always be passed to windowResize
   var width = document.body.clientWidth;   
   windowResize(width);   
   $(window).resize(function() {      
       windowResize(width);      
       }); 
   });  

Я изменил его, чтобы ширина вычислялась внутри windowResize, и все работает.

jQuery(document).ready(function() {    
  windowResize();   
  $(window).resize(windowResize); 
});  

function windowResize() {
  var width = document.body.clientWidth;   
  if(width>1024){      
    $('#content').css({        
       'margin-left':(width-1024)/2+32 + 'px'      
    });
  }else{
    $('#content').css({        
       'margin-left': 32 + 'px'      
    });
  }
} 

...