Вторник, 21 Августа 2018, 03:41

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Скриптовые языки программирования » Не правильно работает проверка. JS (Странно)
Не правильно работает проверка. JS
last2424Дата: Четверг, 18 Февраля 2016, 17:32 | Сообщение # 1
30 мл. блоков
Сейчас нет на сайте
Есть вот этот код:
Код
if(autoplay){
  spliting2[0] = "autoplay=1";
  console.log(spliting2[0]);
    }else{
  spliting2[0] = "autoplay=0";
  console.log(spliting2[0]);
    }

Если autoplay равен true, то верно срабатывает код после первого условия, но если autoplay равен false, всё-равно срабатывает код после первого условия(if(autoplay));
Если написать autoplay == true, то работает наоборот при обоих значениях срабатывает только код после else.
Помогите пожалуйста, очень надо. cry


Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)

Сообщение отредактировал last2424 - Четверг, 18 Февраля 2016, 17:42
VostruginДата: Четверг, 18 Февраля 2016, 17:41 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
last2424, приведённый код правильный. Ищите ошибку в другом месте. Как проверяете какое условие выполнилось, console.log?



last2424Дата: Четверг, 18 Февраля 2016, 17:43 | Сообщение # 3
30 мл. блоков
Сейчас нет на сайте
Vostrugin, да, вытаскиваю данные из куков и туда же их сохраняю при нажатие на кнопку, проверял даже, верные значения в переменных выводил, но условие работать ни в какую не хочет.
Вот полный код:
Код
window.onload = init;

var autoplay = getCookie("getAutoplay");
var policy = getCookie("getPolicy");
var color = getCookie("getColor");
var srcVideo;

function init() {
    srcVideo = document.getElementById("ytplayer").src;
    var spliting = srcVideo.split("?");
    var spliting2 = spliting[1].split("&");
    if(autoplay){
  spliting2[0] = "autoplay=1";
  console.log(spliting2[0]);
    }else{
  spliting2[0] = "autoplay=0";
  console.log(spliting2[0]);
    }
    
    var url = spliting[0] + "?" + spliting2[0] + "&" + spliting2[1] + "&" + spliting2[2] + "&" + spliting2[3] + "&" + spliting2[4] + "&" + spliting2[5] + "&" + spliting2[6];
    console.log(url);
    document.getElementById("ytplayer").src = url;
}

function setAutoplay() {
    var dateInt = new Date('December 17, 3000 03:24:00');
    autoplay = !autoplay;
    /*if(autoplay == true){
  var spliting = srcVideo.split("?");
  var spliting2 = spliting[1].split("&");
  spliting2[0] = "autoplay=1";
  console.log(spliting2);
  var url = spliting[0] + "?" + spliting2[0] + "&" + spliting2[1] + "&" + spliting2[2] + "&" + spliting2[3] + "&" + spliting2[4] + "&" + spliting2[5] + "&" + spliting2[6];
  document.getElementById("ytplayer").src = url;
    }
    if(autoplay == false){
  var spliting = srcVideo.split("?");
  var spliting2 = spliting[1].split("&");
  spliting2[0] = "autoplay=0";
  console.log(spliting2);
  var url = spliting[0] + "?" + spliting2[0] + "&" + spliting2[1] + "&" + spliting2[2] + "&" + spliting2[3] + "&" + spliting2[4] + "&" + spliting2[5] + "&" + spliting2[6];
  document.getElementById("ytplayer").src = url;
    }*/
    document.cookie = "getAutoplay="+autoplay+"; expires="+dateInt+";";
    console.log(autoplay);
}

function setPolicy() {
    var dateInt = new Date('December 17, 3000 03:24:00');
    policy = !policy;
    /*if(policy == true){
  var spliting = srcVideo.split("?");
  var spliting2 = spliting[1].split("&");
  spliting2[3] = "iv_load_policy=1";
  console.log(spliting2);
  var url = spliting[0] + "?" + spliting2[0] + "&" + spliting2[1] + "&" + spliting2[2] + "&" + spliting2[3] + "&" + spliting2[4] + "&" + spliting2[5] + "&" + spliting2[6];
  document.getElementById("ytplayer").src = url;
    }
    if(policy == false){
  var spliting = srcVideo.split("?");
  var spliting2 = spliting[1].split("&");
  spliting2[3] = "iv_load_policy=3";
  console.log(spliting2);
  var url = spliting[0] + "?" + spliting2[0] + "&" + spliting2[1] + "&" + spliting2[2] + "&" + spliting2[3] + "&" + spliting2[4] + "&" + spliting2[5] + "&" + spliting2[6];
  document.getElementById("ytplayer").src = url;
    }*/
    document.cookie = "getPolicy="+policy+"; expires="+dateInt+";";
    console.log(policy);
}

function setColor() {
    dateInt = new Date('December 17, 3000 03:24:00');
    color = !color;
    /*if(color == true){
  var spliting = srcVideo.split("?");
  var spliting2 = spliting[1].split("&");
  spliting2[6] = "color=red";
  console.log(spliting2);
  var url = spliting[0] + "?" + spliting2[0] + "&" + spliting2[1] + "&" + spliting2[2] + "&" + spliting2[3] + "&" + spliting2[4] + "&" + spliting2[5] + "&" + spliting2[6];
  document.getElementById("ytplayer").src = url;
    }
    if(color == false){
  var spliting = srcVideo.split("?");
  var spliting2 = spliting[1].split("&");
  spliting2[6] = "color=white";
  console.log(spliting2);
  var url = spliting[0] + "?" + spliting2[0] + "&" + spliting2[1] + "&" + spliting2[2] + "&" + spliting2[3] + "&" + spliting2[4] + "&" + spliting2[5] + "&" + spliting2[6];
  document.getElementById("ytplayer").src = url;
    }*/
    document.cookie = "getColor="+color+"; expires="+dateInt+";";
    console.log(color);
}

function getCookie(name) {
    var matches = document.cookie.match(new RegExp(
        "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
    ));
    return matches ? decodeURIComponent(matches[1]) : undefined;
}


Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)

Сообщение отредактировал last2424 - Четверг, 18 Февраля 2016, 17:43
YellowAfterlifeДата: Четверг, 18 Февраля 2016, 17:55 | Сообщение # 4
Сейчас нет на сайте
Цитата last2424 ()
Vostrugin, да, вытаскиваю данные из куков и туда же их сохраняю при нажатие на кнопку, проверял даже, верные значения в переменных выводил, но условие работать ни в какую не хочет.
Вот полный код:

getCookie возвращает строку или undefined.
Сравнивать как autoplay == "true", или же переводить в булевую форму на стадии чтения cookie.


VostruginДата: Четверг, 18 Февраля 2016, 17:55 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
last2424, getCookie("getAutoplay") какое значение вернёт? Дело в том, что вы проверяете autoplay предполагая что там будет boolen тип. Если getCookie возвращает текст, то сделайте так
Код
var autoplay = getCookie("getAutoplay") == "true"




last2424Дата: Четверг, 18 Февраля 2016, 18:02 | Сообщение # 6
30 мл. блоков
Сейчас нет на сайте
YellowAfterlife, Vostrugin, Огромное вам человеческое спасибо. biggrin

Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)
Форум игроделов » Программирование » Скриптовые языки программирования » Не правильно работает проверка. JS (Странно)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2018 Рейтинг