Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Показать\скрыть с сохранением состояния (https://javascript.ru/forum/misc/45095-pokazat%5Cskryt-s-sokhraneniem-sostoyaniya.html)

danik.js 14.02.2014 11:07

Цитата:

Сообщение от рони
showFn нормальное название для функции которая работает с анимацией видимости элемента

Расскажи это разработчикам jQuery(да и любой нормальной либы). Нафига они назвали функцию переключения видимости как toggle? А функция show у них может только показывать блок, но не скрывать. ПАЧИМУ????

Цитата:

Сообщение от рони
если неподскажите лучше

hide = !hide (понимаю так: было видимо - стало невидимо. было невидимо - стало видимо). А ваше hide ^= 1 как читать?

Цитата:

Сообщение от Ruslan_xDD
~elemIndexOf('bla bla bla') очень удобно использовать, не понятно почему Данику это не нравится

Я помнится уже спорил на эту тему с кем-то. Вроде с Deff'ом. Разрешился спором тем, что я кинул ссылку на спор в комментариях хабра. Щас искать лень.
Цитата:

Сообщение от Ruslan_xDD
хотя сам какой-то запутанной фигни для такой простой задачи понаписал

Что именно не нравится? Что последовал правилу "выноси повторяемый код в функцию"? Или что закэшировал результат функции getElementById?
Или что избавился от бесполезной записи в localStorage при инициализации (когда visible == false) ?

danik.js 14.02.2014 11:10

Цитата:

Сообщение от рони
}
function spell() {

Это ты уже типа решил потроллить меня? ;)
Цитата:

Сообщение от рони
return false

И кому ты возвращаешь результат?

А еще срать в глобал не принято, если не в курсе :)
Цитата:

Сообщение от рони
window.localStorage

Пиши тогда window.document.getElementById, че уж там..

рони 14.02.2014 11:20

Цитата:

Сообщение от danik.js
И кому ты возвращаешь результат?

ссылке -- поправил onclick="return spell()"
Цитата:

Сообщение от danik.js
Или что избавился от бесполезной записи в localStorage при инициализации (когда visible == false) ?

это непонял
твоё hide = !hide заставляет тебя лишний раз парсить данные.

ruslan_mart 14.02.2014 11:27

Цитата:

Сообщение от danik.js
А ваше hide ^= 1

Кому надо - тот поймёт. У каждого свой стиль написания кода, если мне удобнее и нравится так писать, то я буду так писать и мне плевать что ты думаешь по этому поводу. Раз ты такой правильный, то это просто позор для твоих профессиональных знаний:

Цитата:

Сообщение от danik.js
<a href="javascript:toggleBlock()">Скрыть \ показать</a>

По крайне мере мне не нравится, поэтому в следующий раз в кормушку накакаю! :D

danik.js 14.02.2014 11:36

Цитата:

Сообщение от рони
это непонял

Ну такая штука у Ruslan_xDD в примере происходит.
Цитата:

Сообщение от рони
твоё hide = !hide заставляет тебя лишний раз парсить данные.

Она по логике должна быть булевой. Чем плох парсинг (кроме того, что в localStorage каким-то неведомым образом окажется некорректный JSON)?

danik.js 14.02.2014 11:38

Цитата:

Сообщение от Ruslan_xDD
По крайне мере мне не нравится, поэтому в следующий раз в кормушку накакаю!

Мне тоже не нравится) Но это лучше чем ссылка, ведущая в никуда.
По логике это вообще кнопка (<button>), и писал бы я разметку - я бы писал именно <button>

Цитата:

Сообщение от Ruslan_xDD
У каждого свой стиль написания кода, если мне удобнее и нравится так писать, то я буду так писать

Ради бога ) Пиши ) Но в карму насру :D

рони 14.02.2014 12:37

danik.js,
window.localStorage вот с этим вопрос - иногда без window почемуто несрабатывает -- с чем это связано незнаю - браузеры на самообновлении - подумал может не у меня одного эта проблема поэтому оставил -- также как раньше несрабатывало обращение к элементу по id -
сейчас по id работает но душа радуется что вы научились писать document.getElementById, потому что считаю что если переменная инициализирована элементом это видно и понятно -- а откуда взялась глобальная переменная ещё вопрос элемент это или просто переменная.Спасибо за внимание! :thanks:

psfdek 16.02.2014 18:14

Всем спасибо!!
Всем добра!!!!
Ваши варианты работают!


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