поочередное сохранение
есть две переменные 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, время: 00:34. |