Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   есть ли такое Условие ! (https://javascript.ru/forum/dom-window/54653-est-li-takoe-uslovie.html)

ArsenInvoker 26.03.2015 15:09

есть ли такое Условие !
 
есть ли такое Условие ! НЕ РАЗРЕШАТЬ СОЗДАВАТЬ ОДИНАКОВЫЕ DIV БЛОКИ С ОДИНАКОВЫМИ ID

newuser1001 26.03.2015 15:14

это надо свой событийный велосипед писать. А зачем?

ArsenInvoker 26.03.2015 16:04

newuser1001,
ну надо очень есть хоть маленький пример я бы потом сам разобрался

newuser1001 26.03.2015 16:08

ArsenInvoker,
Не совсем понятна задача. Не разрешать кому? Другому скрипту? Какому то коду?

ArsenInvoker 26.03.2015 16:29

newuser1001,
ша покажу код

ArsenInvoker 26.03.2015 16:29

window.onload=function(invoker) {
document.onkeydown =  function(qwerDown) {


var q_a = document.getElementById('quasactiv');
var w_a = document.getElementById('wexactiv');
var e_a = document.getElementById('exortactiv');

var quas = document.getElementById('quas');
var wex = document.getElementById('wex');
var exort = document.getElementById('exort');
var invoke = document.getElementById('invoke');

var btn_quas = document.getElementById('btn-quas');
var btn_wex = document.getElementById('btn-wex');
var btn_exort = document.getElementById('btn-exort');
var btn_invoke = document.getElementById('btn-invoke');

var quasactiv =  (document.querySelectorAll('[id="quasactiv"]').length);
var wexactiv =  (document.querySelectorAll('[id="wexactiv"]').length);
var exortactiv =  (document.querySelectorAll('[id="exortactiv"]').length);



var Alacrity = document.getElementById('Alacrity');



var Alacrity_activ =  (document.querySelectorAll('[id="Alacrity"]').length);
var ChaosMeteor_activ =  (document.querySelectorAll('[id="ChaosMeteor"]').length);
var ColdSnap_activ =  (document.querySelectorAll('[id="ColdSnap"]').length);
var DeafeningBlast_activ =  (document.querySelectorAll('[id="DeafeningBlast"]').length);
var EMP_activ =  (document.querySelectorAll('[id="EMP"]').length);
var ForgeSpirit_activ =  (document.querySelectorAll('[id="ForgeSpirit"]').length);
var GhostWall_activ =  (document.querySelectorAll('[id="GhostWall"]').length);
var IceWall_activ =  (document.querySelectorAll('[id="IceWall"]').length);
var SunStrike_activ =  (document.querySelectorAll('[id="SunStrike"]').length);
var Tornado_activ =  (document.querySelectorAll('[id="Tornado"]').length);



var qweadd = document.getElementById('qweactiv');
var qwediv = document.createElement('div');
var wexdiv = document.createElement('div');
var exortdiv = document.createElement('div');

var divadd = document.createElement('div');

var cont = document.getElementsByClassName("content");

var qweold = document.getElementById('qweactiv').childNodes.length;
var qwelast = qweadd.lastChild; 
var qwefirst = qweadd.firstChild; 

var lrcastadd = document.getElementById('lrcast');
var lrcastold = document.getElementById('lrcast').childNodes.length;
var lrcastlast = lrcastadd.lastChild; 
var lrcastfirst = lrcastadd.firstChild; 
var lrcastChildNodes = lrcastadd.childNodes[1]; 

				

if (81 === qwerDown.keyCode) {
	
quas.style.cssText = "width:125px; \
                                 height:125px;\
								 border:5px solid #30A0F8";
								 

qwediv.id = 'quasactiv';
qweadd.appendChild(qwediv);

if (qweold == 3) {
qweadd.removeChild(qwefirst);
}
else {
};
}
else if (87 === qwerDown.keyCode) {
wex.style.cssText = "width:125px; \
                                height:125px; \
								border:5px solid #F581FC";
							
wexdiv.id = 'wexactiv';
qweadd.appendChild(wexdiv);

if (qweold == 3) {
qweadd.removeChild(qwefirst);
}
else {

};
}
else if (69 === qwerDown.keyCode) {

exort.style.cssText = "width:125px; \
                                 height:125px; \
								 border:5px solid #F0AC38";


exortdiv.id = 'exortactiv';
qweadd.appendChild(exortdiv);

if (qweold == 3) {
qweadd.removeChild(qwefirst);
}
else {
};
}
else if(82 === qwerDown.keyCode) {

invoke.style.cssText = 
"width:125px; \
height:125px; \
border-top: 5px solid #F0AC38; \
border-left: 5px solid #30A0F8; \
border-right: 5px solid #F581FC; \
border-bottom: 5px solid #fff;"



	
									
			                         if ((wexactiv == 2) && (exortactiv == 1))  {
									if(Alacrity_activ <2) {
									alert("rwre");
									}
									else {

									};
								     divadd.id = "Alacrity";
									 lrcastadd.insertBefore(divadd, lrcastadd.firstChild);
									 
	
									 if(lrcastold == 3) {
									 lrcastadd.removeChild(lrcastChildNodes);
									
									 }
									 else {
									 };
									 
   									 }
									else if((wexactiv == 1) && (exortactiv == 2)) {
									
									 divadd.id = "ChaosMeteor";
									 lrcastadd.insertBefore(divadd, lrcastadd.firstChild);
									 if(lrcastold == 3) {
									 lrcastadd.removeChild(lrcastChildNodes);
									 }
									 else {
									 };									
									
									 }
									else if(quasactiv == 3)  {
								
								     divadd.id = "ColdSnap";
									 lrcastadd.insertBefore(divadd, lrcastadd.firstChild);
									 if(lrcastold == 3) {
									 lrcastadd.removeChild(lrcastChildNodes);
									 }
									 else {
									 };									
									
									 }
									else if((quasactiv == 1) && (wexactiv == 1) && (exortactiv == 1)) {
									
									divadd.id = "DeafeningBlast";
									 lrcastadd.insertBefore(divadd, lrcastadd.firstChild);
									 if(lrcastold == 3) {
									 lrcastadd.removeChild(lrcastChildNodes);
									 }
									 else {
									 };
									
									 }
									else if(wexactiv == 3)  {

									divadd.id = "EMP";
									 lrcastadd.insertBefore(divadd, lrcastadd.firstChild);
									 if(lrcastold == 3) {
									 lrcastadd.removeChild(lrcastChildNodes);
									 }
									 else {
									 };
									
									 }
									else if((exortactiv == 2) && (quasactiv == 1)) {
										
									 divadd.id = "ForgeSpirit";
									 lrcastadd.insertBefore(divadd, lrcastadd.firstChild);
									 if(lrcastold == 3) {
									 lrcastadd.removeChild(lrcastChildNodes);
									 }
									 else {
									 };	
									 
									 }
									else if((quasactiv == 2) && (wexactiv == 1)) {
									
									 divadd.id = "GhostWall";
									 lrcastadd.insertBefore(divadd, lrcastadd.firstChild);
									 if(lrcastold == 3) {
									 lrcastadd.removeChild(lrcastChildNodes);
									 }
									 else {
									 };
									
									 }
									else if((quasactiv == 2) && (exortactiv == 1)) {
									
									divadd.id = "IceWall";
									 lrcastadd.insertBefore(divadd, lrcastadd.firstChild);
									 if(lrcastold == 3) {
									 lrcastadd.removeChild(lrcastChildNodes);
									 }
									 else {
									 };
									
									 }
									else if(exortactiv == 3)  {
                                     
									 divadd.id = "SunStrike";
									 lrcastadd.insertBefore(divadd, lrcastadd.firstChild);
									 if(lrcastold == 3) {
									 lrcastadd.removeChild(lrcastChildNodes);
									 }
									 else {
									 };
									 
									 }
									else if((wexactiv == 2) && (quasactiv == 1)) {
                                     
									 divadd.id = "Tornado";
									 lrcastadd.insertBefore(divadd, lrcastadd.firstChild);
									 if(lrcastold == 3) {
									 lrcastadd.removeChild(lrcastChildNodes);
									 }
									 else {
									 };
									 
									 }

									 else {
									 };
									 
									 


};
};

document.onkeyup =  function(qwerUp) {
if (81 === qwerUp.keyCode) {
quas.style.cssText = "width:128px; \
                                 height:128px;"

}
else if (87 === qwerUp.keyCode) {
wex.style.cssText = "width:128px; \
                                 height:128px;"


}
else if (69 === qwerUp.keyCode) {
exort.style.cssText = "width:128px; \
                                 height:128px;"
								 

}
else if(82 === qwerUp.keyCode) { 
invoke.style.cssText = "width:128px; \
                                 height:128px;"
								 
			 
									
}

};


	


};

// Click

ArsenInvoker 26.03.2015 16:30

newuser1001,
ну вот я не хочу чтоб больше одного id Alacrity не появлялось !
как это прописать

рони 26.03.2015 16:37

ArsenInvoker,
if(document.querySelectorAll('[id="Alacrity"]').length) return


или
if(document.querySelector('#Alacrity')) return

ArsenInvoker 26.03.2015 16:50

рони,
а она не вернет значение 0

ArsenInvoker 26.03.2015 16:50

ну пустоту

рони 26.03.2015 16:59

Цитата:

Сообщение от ArsenInvoker
а она не вернет значение 0

кто?

newuser1001 26.03.2015 17:01

Цитата:

Сообщение от ArsenInvoker
а она не вернет значение 0

<html>
<head>
</head>
<body>

<script>
 alert(document.querySelectorAll("foo").length)
</script>
</body>
</html>

рони 26.03.2015 17:02

ArsenInvoker,
может так вам проще понять будет

if(!document.querySelector('#Alacrity')) {// если элемента нет тут что-то делаем
}

ArsenInvoker 26.03.2015 17:47

рони,
Рони детка ты просто чудо
Объясни мне пожалуйста как именно работает return я понимаю что он возвращает значение но как именно остается один элемент !

ArsenInvoker 26.03.2015 17:48

рони,
это вариант работает на ура
if(document.querySelectorAll('[id="Alacrity"]').length) {
return
}

ArsenInvoker 26.03.2015 17:48

if(document.querySelectorAll('[id="Alacrity"]').length) {
										return
									}

newuser1001 26.03.2015 17:50

Цитата:

Сообщение от ArsenInvoker
что он возвращает значение

Он не обязан возвращать значение. Это просто выход из ф-ции с возвратом в точку вызова. Если значения нет, он вернет undefined.

ArsenInvoker 26.03.2015 17:55

рони,
А есть вариант сделать так чтобы добавлялись два элемента а конечный удалялся

ArsenInvoker 26.03.2015 17:56

Просто я как делаю можно добавлять только три элемента а потом удалять последний !

ArsenInvoker 26.03.2015 17:59

рони,
if(!document.querySelector('#Alacrity')) {// если элемента нет тут что-то делаем
}
то что вы тут написали не правильно на оборот если есть два элемента #Alacrity то оставляем один удалив последний

ArsenInvoker 26.03.2015 18:00

рони,
а это вариант мне не подходит
if(!document.querySelector('#Alacrity')) {// если элемента нет тут что-то делаем
}

рони 26.03.2015 18:05

ArsenInvoker,
а классы использовать?

ArsenInvoker 26.03.2015 18:12

рони,
Классы не только id !

ArsenInvoker 26.03.2015 18:20

рони,
хотя этот вариант почти прокатил просто словами не объяснить надо будет выложить на хостинг сегодня попробую
смотри мы добились чтобы определенный id оставался один
if(!document.querySelector('#Alacrity')) { 
return

}

да это работает но потом на жимаю на другую комбинацию и выходить другой блок а это верхний блок уходит в право пока все правильно но если я нажму на верхнию комбинацию ну эту Alacrity по идее блок должен по новой появиться и сместить уже другой блок в право
а тот код который мы сейчас добавили он не дает вызывать еще один блок !! Alacrity

kostyanet 26.03.2015 19:50

Как сделать чтобы при сложении 3 и 2 получалось всегда 5?


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