Показать сообщение отдельно
  #1 (permalink)  
Старый 12.01.2018, 15:09
Новичок на форуме
Отправить личное сообщение для doi7ing Посмотреть профиль Найти все сообщения от doi7ing
 
Регистрация: 12.01.2018
Сообщений: 8

Слежение за обьектами Wordpress и изменение свойств CSS средствами JS
Сейчас имею:
1)Движок WordPress
2)Установлена не стандартная тема Annina(не стандартная тк
переработанная) в неё адаптивный дизайн и есть проблемма вида этой
самой адаптивной сетки... а именно когда новостей в категории две, а
экран например 1366px, то смотрятся эти темы мягко говоря неочень...

Решено было:
растягивать эту адаптивную сетку средствами JS, чтоб эти две темы занимали весь экран...

Получилось примерно следующее решение:
<script type="text/javascript">
	window.onresize = benres;
	window.onload = benres;
function benres() {
    var catcol=<?php echo get_category(get_category(is_category())->count)->category_count; ?>;
	var heightmin= document.documentElement.clientWidth;
	//alert ("в этой категории "+ catcol +" новости, ширана страницы "+ heightmin);
	if (catcol == '2') { 
		document.querySelector('style').innerHTML += '@media (max-width: 1366px) {.anninamas, .grid-sizer {width: 50% !important;}}';
		document.querySelector('style').innerHTML += '@media (max-width: 1920px) {.anninamas, .grid-sizer {width: 50% !important;}}';
	} else if (catcol == '3'){
		document.querySelector('style').innerHTML += '@media (max-width: 1920px) {.anninamas, .grid-sizer {width: 33.33333% !important;}}';};
}	
</script>


Воможно не самое изящьное решение, но что пришло в голову...

Сейчас этот код работает коректно, тоесть выполняет свое предназначение, но если экран браузер начинаешь растягивать или уменьшать то:
1) плодятся стили и соответственно ничего не меняется, а только
уменьшаются пропорции новостей тк стоит правило !important
2) сколько не вкарячивал проверку ширины чтоб если она меньше
900px то эти правила не использовались а использовались стили
поумолчанию... так ничего толкового не вышло...

в JS новичек но изучаю потихоньку...
может кто посоветует иное решение=)
Ответить с цитированием