2017-01-05 2 views
0

Мне нужно добавить класс .Full-страницу, когда размер экрана > = 769px и удалить тот же класс, когда размер экрана < = 768 , ДИВ мне нужен класс для применения к имеет идентификатор #here Я попытался довольно много вещей, и это то, где я остановился ...Добавить/Удалить класс от конкретного DIV зависимости от размера экрана

<script> 

    var windowSize = window.innerWidth; 

    if (windowSize >= 769) { 
     console.log('Greater than 768'); 
     document.getElementById('here').addClass = 'full-page';} 

    else (windowSize <= 768) { 
     console.log('Less than 768'); 
     document.getElementById('here').removeClass = 'full-page';} 

</script> 

Кто-нибудь есть совет? Заранее спасибо!

+1

Вам лучше [использовать медиа-запросы] (https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries) здесь –

+0

P.S. Журналы консоли отображаются с соответствующими размерами экрана в инструментах Dev, сценарий просто не работает. – Furlong

+0

Если вы все еще хотите использовать это вместо медиа-запросов, тогда найдите [className] (https://developer.mozilla.org/en-US/docs/Web/API/Element/className). Ваш 'addClass = ...' не имеет смысла. –

ответ

1

Вы можете использовать window#matchMedia для определить изменения ширины и посмотреть, соответствует ли он определенным критериям. Для добавления и удаления классов используйте classList.

Вы можете увидеть пример here. Измените ширину нижнего правого прямоугольника, перетащив границу.


Код:

var classList = document.getElementById('here').classList; 

var minWidth769 = window.matchMedia("(min-width: 769px)"); 

function match() { 
    minWidth769.matches ? classList.add('full-page') : classList.remove('full-page'); 
} 

minWidth769.addListener(match); 

match(); 
+0

Это сработало отлично! Большое спасибо, я ценю это! – Furlong

+0

Добро пожаловать :) –

0

Существует не метод добавить | удалить класс в JavaScript, если вы хотите изменить класс для элемента, вы можете использовать

document.getElementById('here').className = 'full-page' 

ИЛИ

document.getElementById('here').setAttribute('class', 'full-page') 
+0

ведь есть классList, он просто не работает на старом IE –

0

Я думаю, вам нужно использовать JQuery, если вы хотите использовать 'addClass', после того, как ссылки на файл JQuery, Попробуйте

$("#here").addClass("full-page"); 

и

$("#here").removeClass ("full-page");