2013-09-20 3 views
0

Я пытаюсь центрировать логотип этой марки вертикально и горизонтально на всей странице с помощью JQuery. Это делает работа на браузере изменение размера но не изначально. Внимание: этот код изменяет размер изображения, чтобы он соответствовал странице. Я попытался $ (окно) и $ (документ) JS является:Центрирование img по горизонтали и вертикали с помощью JQuery

$(function() { 
    var resizeToFit = function(){ 
     var $this = $(document); 
     var imgw = $("#overlay-logo img").width(); 
     var pw = $this.width(); 
     var $overlaylogo = $("#overlay-logo img"); 
     $overlaylogo.css("width", pw - 100); 
     var left = (pw/2) - (imgw/2); 
     $overlaylogo.css('margin-left',left); 
    } 
    $(window).resize(function(){ 
     resizeToFit(); 
    }); 
    resizeToFit(); 
}); 

CSS:

#overlay-logo{ 
position:absolute; 
top:50%; 
z-index: 999999; 
} 

HTML:

<div id="overlay-logo"> 
    <img src="img/overlay.png" alt="overlay" /> 
</div> 
+0

Возможно, первый запуск перед загрузкой изображения. Попробуйте добавить на изображение слушателя 'load'. – Dave

+0

также, 'function() {resizeToFit(); } 'здесь избыточно; просто отправьте 'resizeToFit' напрямую. – Dave

+0

Добавьте атрибуты width/height на свой тег с размерами изображения. Расчет ширины/высоты будет правильным при первом запуске. –

ответ

0

вы должны быть в состоянии сделать это только с прямой CSS.

#overlay-logo{  
    height:99%; 
    width:99%; 
    margin:auto; 
    position:absolute; 
    top:0; 
    right:0; 
    left:0; 
    bottom:0; 
} 

вот скрипку: http://jsfiddle.net/GheZd/

EDIT Просто сделайте высоту и ширину 99% тогда. Вы можете применить этот стиль непосредственно к изображению ... вам необязательно нужен div.

+0

Мне нужно его изменить размер изображения, чтобы он соответствовал странице. Этот jQuery, который я написал, делает это. Я отредактировал свой ответ, чтобы показать это. – Johnston

+0

отредактировал мой ответ соответственно – malificent

Смежные вопросы