поочередное сохранение
есть две переменные localStorage перваая count0 вторая count1
как сохранять в них данные поочередно первый клик в count0 второй в count1 третий пересохранить count0 четвертый пересохранить count1 и т.д. у мя на dive стоит onClick='give(this.id);' вот фукция ниже не работает =( function give(val) { switch (true) { case (val=='boxA'): if (i == 1) { localStorage.setItem('count0', 'boxA'); var i = 0; } else { localStorage.setItem('count1', 'boxA'); var i = 1; } break; case (val=='boxB'): if (i == 1) { localStorage.setItem('count0', 'boxB'); var i = 0; } else { localStorage.setItem('count1', 'boxB'); var i = 1; } break; case (val=='boxC'): if (i == 1) { localStorage.setItem('count0', 'boxC'); var i = 0; } else { localStorage.setItem('count1', 'boxC'); var i = 1; } break; } что не так? как правильно задать эту переменную которая выступает мигалкой по типу или значение 1 или 0 ? или оно вообще тут не нужна? как тогда организовать проверку условия когда сохранять в первую переменную когда во вторую? |
Что-то не так по-моему switch пишется:
switch(val) { case 'boxA': Переделай все кейсы и выкладывай тут последнюю версию:). Насчет кликов я бы сделал так. Заведи счетчик кликов. var Counter=false;/*bool value*/ Object.onClick = function() { if(Counter) {/*0 или любое четное нажатие*/} else {/*1 или любое нечетное нажатие*/} Counter != Counter;/*Инвертирование значения Counter*/ } |
Цитата:
|
ksa, ну с этим более понятно, и да действительно норм помогло спс =)
strongman, чето в данной ситуации счетчик оказался более сложным имхо хз хз |
При использовании строковых констант с циферкой удобнее вести инкремент цифры и остаток от деления.
Т.о. можно обойтись вовсе без условия "куда писать". ;) |
Так у Вас уже сделан этот механизм, про который я говорил. Только не нужно var писать везде(это я про строки 5, 7, 12, 14, 19, 21). Просто зведите глобальную переменную i.
Цитата:
var Count = 0; Object.onClick = function() { if(Count%2 == 0) {/*0 или любое четное нажатие*/} else {/*1 или любое нечетное нажатие*/} } Ну или как-то так, я думаю принцип ясен. |
а еще вопрос а как убрать отображение Undefined на странице?? ну еси переменной нету то понятно зачем об етом писать) некий мб аналог ПХПшного error_reporting(0);
|
тяжко понимать JS после PHP ппц(
|
Цитата:
|
или тут надо постоянно проверять существует если да => тогда выводим а если нет то пусто
|
<script> function give(val) { switch (true) { case (val=='boxA'): if (localStorage.getItem('i') == 1) { localStorage.setItem('count0', 'boxA'); localStorage.setItem('i', '0'); } else { localStorage.setItem('count1', 'boxA'); localStorage.setItem('i', '1'); } break; case (val=='boxB'): if (localStorage.getItem('i') == 1) { localStorage.setItem('count0', 'boxB'); localStorage.setItem('i', '0'); } else { localStorage.setItem('count1', 'boxB'); localStorage.setItem('i', '1'); } break; case (val=='boxC'): if (localStorage.getItem('i') == 1) { localStorage.setItem('count0', 'boxC'); localStorage.setItem('i', '0'); } else { localStorage.setItem('count1', 'boxC'); localStorage.setItem('i', '1'); } break; } if (localStorage.getItem('count0') == 'boxA') {var bbb = "<div class='drag' id='boxA'></div>"} else if (localStorage.getItem('count0') == 'boxB') {var bbb = "<div class='drag' id='boxB'></div>"} else if (localStorage.getItem('count0') == 'boxC') {var bbb = "<div class='drag' id='boxC'></div>"} if (localStorage.getItem('count1') == 'boxA') {var aaa = "<div class='drag' id='boxA'></div>"} else if (localStorage.getItem('count1') == 'boxB') {var aaa = "<div class='drag' id='boxB'></div>"} else if (localStorage.getItem('count1') == 'boxC') {var aaa = "<div class='drag' id='boxC'></div>"} document.getElementById("big").innerHTML = bbb + aaa;} function someFunc(){ var timestake = document.getElementById("timestake").value; if (localStorage.getItem('count0') == "boxA") {var stake0 = timestake;} else if (localStorage.getItem('count0') == "boxB") {var stake1 = timestake;} else if (localStorage.getItem('count0') == "boxC") {var stake2 = timestake;} if (localStorage.getItem('count1') == "boxA") {var stake0 = timestake;} else if (localStorage.getItem('count1') == "boxB") {var stake1 = timestake;} else if (localStorage.getItem('count1') == "boxC") {var stake2 = timestake;} document.getElementById("textstake").innerHTML= stake0 + "<br>" + stake1 + "<br>" + stake2; localStorage.removeItem('count0');localStorage.removeItem('count1');localStorage.removeItem('i');document.getElementById("big").innerHTML = " "; } </script> явно конечно с точки зрения веб программиста код кривой |
Цитата:
var val; alert(val || 'Пусто...'); |
Цитата:
|
крч спс ща буду разбираться
|
Ну да, только это и хотел сказать.
if(x != undefined) {/*x = defined;*/} else {/*x = undefined;*/} |
О, ниче я прикольный метод нашел в jQuery: .toggle(). Ищите, пожалуйста, в Интернете.
|
Цитата:
PHP - это же типа framework. На JS да, надо каждый раз проверять или пиши нормальное приложение с централизованным многоуровневым обработчиком исключений. К слову профессора обосрали применение try catch в другой теме, а между тем оно самое. |
Вложений: 1
Цитата:
|
Часовой пояс GMT +3, время: 16:03. |