Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   element.setAttribute (https://javascript.ru/forum/css-html/71420-element-setattribute.html)

atanov 17.11.2017 10:14

element.setAttribute
 
Доброго времени суток, коллеги.

Никто не подскажет можно ли в
element.setAttribute(имяАтрибута, значение);
устанавливать/изменять несколько атрибутов или прописывать для каждого отдельно? И как тогда в синтаксисе правильно разделить?

рони 17.11.2017 10:19

Цитата:

Сообщение от atanov
прописывать для каждого отдельно

:yes:
https://developer.mozilla.org/ru/doc...t/setAttribute

atanov 17.11.2017 10:26

Спасибо.

Но вот такая незадача. Был код (работал), чтобы шапку таблицы оставлять при прокрутке:

window.onscroll = function(){
    var scrolledY = window.pageYOffset || document.documentElement.scrollTop;
    var o = document.getElementById('headsticky');
    if (scrolledY > 0) {o.setAttribute('class','fix');}
    else {o.setAttribute('class','not_fix');}
}


В css прописаны соответствующие назначения классов.

Если устанавливать атрибуты с помощью setAttribute, сами атрибуты меняются, но шапка не фиксируется

window.onscroll = function(){
    var scrolledY = window.pageYOffset || document.documentElement.scrollTop;
    var o = document.getElementById('headsticky');
    if (scrolledY > 0) {
		o.setAttribute('opacity','1');
		o.setAttribute('background-color','#FFF8DC');
		o.setAttribute('position','fixed');
		o.setAttribute('top','0px');
		o.setAttribute('left','8px');
		o.setAttribute('z-index','9999');
		o.setAttribute('width','3000px');
				}
    else {
		o.setAttribute('background-color','#000000');
		o.setAttribute('position','absolute');
		o.setAttribute('top','8px');
		o.setAttribute('left','8px');
		o.setAttribute('z-index','-1');
		o.setAttribute('width','3000px');
		
		}
}


В чём может быть причина?

рони 17.11.2017 10:47

Цитата:

Сообщение от atanov
В чём может быть причина?

#стили-элемента-свойство-style

atanov 17.11.2017 11:10

рони, спасибо,

сделал так:

window.onscroll = function(){
    var scrolledY = window.pageYOffset || document.documentElement.scrollTop;
    var o = document.getElementById('headsticky');
	if (scrolledY > 0) {
		o.style.opacity = '1';
		o.style.backgroundColor = '#FFF8DC';
		o.style.position = 'fixed';
		o.style.top = '0px';
		o.style.left = '8px';
		o.style.zIndex = '9999';
		o.style.width ='3000px';
						}
    else {
		o.style.opacity = '0';
		o.style.backgroundColor = '#000000';
		o.style.position = 'fixed';
		o.style.top = '0px';
		o.style.left = '8px';
		o.style.zIndex = '0';
		o.style.width ='3000px';
		}
}


при прокрутке вниз действительно стало работать, однако если прокрутить наверх, то элемент (div), который должен не двигаться, становиться невидимым, хотя в DOM есть. По-видимому, что то со стилями намудрил.

рони 17.11.2017 11:35

Цитата:

Сообщение от atanov
становиться невидимым

Цитата:

Сообщение от atanov
o.style.opacity = '0';

:-?

atanov 17.11.2017 11:38

рони, спасибо, разобрался


Часовой пояс GMT +3, время: 04:18.