Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.08.2016, 21:35
Интересующийся
Отправить личное сообщение для новый вася Посмотреть профиль Найти все сообщения от новый вася
 
Регистрация: 23.01.2015
Сообщений: 28

при отсутствии елемента код не работает
Почему оно работает только если все елементы isset ? если только какого-нибуть елемента который getElementById нету то все ппц не пашет...
function sortir() {
	var a = document.getElementById('id2O').style.top;
	var b = document.getElementById('id2D').style.top;
	var c = document.getElementById('id2S').style.top;

	if (a != '5px') {
		document.getElementById('id2O').style.top = "5px";
	} else {
		document.getElementById('id2O').style.top = "44px";
	}


	if (c != '5px') {
		document.getElementById('id2S').style.top = "5px";
	} else {
		document.getElementById('id2S').style.top = "64px";
	}
	

	if (b != '5px') {
		document.getElementById('id2D').style.top = "5px";
	} else {
		document.getElementById('id2D').style.top = "84px";
	}
 return false; }

три линии находятся друг под другом по клику задаеться топ 5 по второму снова дефолт..Когда они все три линии есть все ок, как только какойто нету, не пашет =(

Последний раз редактировалось новый вася, 03.08.2016 в 21:37.
Ответить с цитированием
  #2 (permalink)  
Старый 03.08.2016, 21:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

новый вася,
что мешает проверить вначале есть линия или нет, если есть тогда работать со стилем.
Ответить с цитированием
  #3 (permalink)  
Старый 03.08.2016, 22:06
Интересующийся
Отправить личное сообщение для новый вася Посмотреть профиль Найти все сообщения от новый вася
 
Регистрация: 23.01.2015
Сообщений: 28

if (variable !== undefined) или есть какойто более приемлимый аналог PHPшного isset() ?
Ответить с цитированием
  #4 (permalink)  
Старый 03.08.2016, 22:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

новый вася,
function sortir() {
    var a = document.getElementById("id2O");
    var b = document.getElementById("id2D");
    var c = document.getElementById("id2S");
    if (a)
        if (a.style.top != "5px") a.style.top = "5px";
        else a.style.top = "44px";
    if (b)
        if (b.style.top != "5px") b.style.top = "5px";
        else b.style.top = "64px";
    if (c)
        if (c.style.top != "5px") c.style.top = "5px";
        else c.style.top = "84px";
    return false
};
Ответить с цитированием
  #5 (permalink)  
Старый 03.08.2016, 22:13
Интересующийся
Отправить личное сообщение для новый вася Посмотреть профиль Найти все сообщения от новый вася
 
Регистрация: 23.01.2015
Сообщений: 28

if(document.getElementById('id2O') !== 'undefined') {
	if (a != '5px') {
		document.getElementById('id2O').style.top = "5px";
	} else {
		document.getElementById('id2O').style.top = "44px";
 }}

 if(document.getElementById('id2S') !== 'undefined') {
	if (c != '5px') {
		document.getElementById('id2S').style.top = "5px";
	} else {
		document.getElementById('id2S').style.top = "64px";
 }}
	
 if(document.getElementById('id2D') !== 'undefined') {
	if (b != '5px') {
		document.getElementById('id2D').style.top = "5px";
	} else {
		document.getElementById('id2D').style.top = "84px";
 }}
не работает еси поставить вместо гет елемент буквы а в и т.д. не работает чето не то пишу походу
Ответить с цитированием
  #6 (permalink)  
Старый 03.08.2016, 22:14
Интересующийся
Отправить личное сообщение для новый вася Посмотреть профиль Найти все сообщения от новый вася
 
Регистрация: 23.01.2015
Сообщений: 28

ща чекну сяп
Ответить с цитированием
  #7 (permalink)  
Старый 03.08.2016, 22:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

новый вася,
if(document.getElementById('id2O') !== null)
Ответить с цитированием
  #8 (permalink)  
Старый 03.08.2016, 22:17
Интересующийся
Отправить личное сообщение для новый вася Посмотреть профиль Найти все сообщения от новый вася
 
Регистрация: 23.01.2015
Сообщений: 28

Сообщение от рони Посмотреть сообщение
новый вася,
function sortir() {
    var a = document.getElementById("id2O");
    var b = document.getElementById("id2D");
    var c = document.getElementById("id2S");
    if (a)
        if (a.style.top != "5px") a.style.top = "5px";
        else a.style.top = "44px";
    if (b)
        if (b.style.top != "5px") b.style.top = "5px";
        else b.style.top = "64px";
    if (c)
        if (c.style.top != "5px") c.style.top = "5px";
        else c.style.top = "84px";
    return false
};
работает спасибо, жаль не работает плюсик кинуть от мя =(
Ответить с цитированием
  #9 (permalink)  
Старый 03.08.2016, 23:29
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от новый вася
sortir
Это по-французски значит "выйти".
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При загрузке не работает, по F5 работает trillian Events/DOM/Window 1 05.12.2014 19:37
Скажите пожалуйста Почему код не работает Hayko jQuery 3 02.11.2014 00:54
Fancybox при клике на метку Яндекс.Карт не работает с параметрами imax57 jQuery 0 04.10.2014 09:18
JS код некоректно работает со стилями zhaaskar Элементы интерфейса 14 13.02.2013 14:59
Не работает код из внешнего файла в IE6 Petka jQuery 2 03.03.2010 16:09