|
Скрытие блоков с сохранением в кукисы
|
|
| Denisгггг | Отредактировал Denisгггг - Среда, 07 Июля 2010, 11:15 Дата: 07 Июля 2010, 11:10 | Сообщение # 1 | ● ● ● ● ● 232 сообщения Статус: Offline | Написал такой вот скриптик Code function toggleblock (id) { cook = $.cookie("hideblock"); cook = cook.split('.'); newcook = ''; divid = id + 1; if (cook[id] == 1) {cook[id] = 0;$('.icon_show_hide'+divid).attr("src","/modern_cat_minus.gif");} else {cook[id] = 1;$('.icon_show_hide'+divid).attr("src","/modern_cat_plus.gif");} for (i=0; i<=cook.length-2; i++){newcook += cook[i] + '.'; } $.cookie("hideblock", newcook); $('#block'+divid).slideToggle("slow"); }
function tb () { if ($.cookie("hideblock") = none) {$.cookie("hideblock", "0.0.0.0.0.0.0.0.0.0.0.0.0.");} fff = $.cookie("hideblock"); fff = fff.split('.'); for (i=1; i<=fff.length-2; i++){if (fff[i-1]==1) { $('#block'+i).hide(); $('.icon_show_hide'+i).attr("src","/modern_cat_plus.gif");} } }
tb(); Вызов Code onclick="toggleblock(0);" //для первого блока. для 2ого не 0, а 1 и т.д. HTML Code <img src="/modern_cat_minus.gif" class="icon_show_hide1" onclick="toggleblock(0);" title="Развернуть блок"> <div id="block1"> lolololo </div> Вопрос такой - не посоветуете, что из js можно выкинуть, что заменить чтобы такскать универсальней сделать (например, чтобы в Code $('.icon_show_hide'+divid).attr("src","/modern_cat_minus.gif"); не указывать циферку после icon_show_hide, а чтоб заменялся атрибут src у картинки на которую кликаешь) | | |
|
| uWeb | Отредактировал uWeb - Среда, 07 Июля 2010, 11:19 Дата: 07 Июля 2010, 11:18 | Сообщение # 2 | ● ● ● ● ● 1135 сообщений Статус: Offline | if ($.cookie("hideblock") = Code if ($.cookie("hideblock") == $('.icon_show_hide'+divid).attr("src","/modern_cat_minus.gif"); Code $(this).attr("src","/modern_cat_minus.gif"); | | |
|
| Denisгггг | Отредактировал Denisгггг - Среда, 07 Июля 2010, 11:33 Дата: 07 Июля 2010, 11:26 | Сообщение # 3 | ● ● ● ● ● 232 сообщения Статус: Offline | Quote (uWeb) if ($.cookie("hideblock") == null) { ой, точно :D, просто наспех дописал эту строчку прямо во время написания темы Code $(this).attr("src","/modern_cat_minus.gif"); пробовал, не получается UPD Code $(this).attr("src","/modern_cat_minus.gif"); работает если его непосредственно в онклик поставить, но тогда придется еще условия в онклике писать, а это будет некрасиво и длинно , а если через всю ту же функцию toggleblock, то никак? | | |
|
| uWeb | Дата: 07 Июля 2010, 11:34 | Сообщение # 4 | ● ● ● ● ● 1135 сообщений Статус: Offline | Код у тебя конечно жестокий. | | |
|
| Denisгггг | Дата: 07 Июля 2010, 11:36 | Сообщение # 5 | ● ● ● ● ● 232 сообщения Статус: Offline | uWeb, я старался :D, на самом деле в js я почти новичок... так что сильно не ругайте  | | |
|
| uWeb | Дата: 07 Июля 2010, 11:37 | Сообщение # 6 | ● ● ● ● ● 1135 сообщений Статус: Offline | Пользуйся форматированием кода. | | |
|
| cucYa | Дата: 07 Июля 2010, 14:08 | Сообщение # 7 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | | | |
|
| uWeb | Отредактировал uWeb - Среда, 07 Июля 2010, 15:40 Дата: 07 Июля 2010, 15:40 | Сообщение # 8 | ● ● ● ● ● 1135 сообщений Статус: Offline | | | |
|
| cucYa | Дата: 07 Июля 2010, 15:47 | Сообщение # 9 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | $(this).attr("src","/modern_cat_minus.gif"); Code this.src = "/modern_cat_minus.gif" | | |
|
| Denisгггг | Отредактировал Denisгггг - Среда, 07 Июля 2010, 17:24 Дата: 07 Июля 2010, 17:24 | Сообщение # 10 | ● ● ● ● ● 232 сообщения Статус: Offline | uWeb, ну эт я знаю ... код то всё равно небольшой, путаться тут особо не в чем, а украшательства это самое последнее дело  | | |
|