2013-11-07 3 views
1

Мне нравится писать код, который добавит margin:0 auto; в div.Как использовать jquery для добавления css на основе ширины экрана

var bestsize = 1445; 
var width = $('.first-image').width(); 
if(width >= bestsize){ 
    $('.first-image').css({margin : '0 auto'}); 

} 
else { 
    $('.first-image').css({margin :' 0 0 -1px 0'}); 

} 

первый образ является DIV, который имеет фоновое изображение

Это то, что у меня есть, я думаю, он должен работать. но, возможно, я не утверждаю это правильно. в настоящее время ничего не произойдет. Я чувствую, что не использую ширину надлежащим образом. Может кто-нибудь дать мне идею, если это решение не хорошо?

Большое спасибо :)

+0

Я предполагаю, что .first-изображение является тегом img. Если да, то вы ждете, пока изображение не загрузится, прежде чем получить его ширину? то вам нужно проверить событие window.load –

+0

Что вы имеете в виду, ничего не произойдет? не выполняется выполнение двух вызовов 'css'? –

+0

У div есть фоновое изображение, да css звонки не исполняют жаль, я неясен –

ответ

3

почему вы должны сделать это из Java-скрипта, вместо использования запросов CSS медиа?

.first-image{ 
    margin: 0 0 -1px 0; 
} 

@media (min-width: 1445px) { 
    .first-image{ 
    margin : 0 auto; 
    } 
} 
0

Сначала вы можете увидеть что-нибудь в вашей отладки консоли?

Загружен ли jQuery?

Попробуйте это:

Вам нужно обернуть его вокруг

$(document).ready(function()({});

загрузить функцию, когда страница готова

и/или

$(window).resize(function(){});

в загрузите функцию при изменении размера страницы.

Также я хотел бы использовать $('.first-image').css('margin', '0 auto');

+0

привет, спасибо за ваш ответ. У меня есть $ (document) .ready, но у меня также есть другой код, поэтому я не включил его здесь. ЕСЛИ я использую это, тогда мне не нужна инструкция if? Спасибо! –

+0

вы делаете, но я думаю, что способ CSS, вероятно, лучше всего –

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