Результаты поиска
|
|
[1 | Тема: Плавное сворачивание / разворачивание блока + куки] remus [17.10.2011, 22:55] |
Code $(function() { $('.hideWrap a.hideBtn').each(function(i) { var cookie = getCookie('hideBtn' + i); if (cookie && cookie.indexOf('show') > -1) $(this).toggleClass('show').parents('.hideWrap').find('.hideCont').show(); }); $('.hideWrap a.hideBtn').click(function() { cont = $(this).parents('.hideWrap').find('.hideCont'); $(this).toggleClass('show'); cont.slideToggle('normal'); var hideBtn = $('.hideWrap a.hideBtn').index($(this)), isShow = $(this).attr('class'); setCookie('hideBtn' + hideBtn, isShow, 365); return false; }); }); не работает в chrome и ошибка Code Problem at line 4 character 53: Expected '{' and instead saw '$'. if (cookie && cookie.indexOf('show') > -1) $(this).toggleClass('show... |
|
[2 | Тема: Плавное сворачивание / разворачивание блока + куки] remus [18.10.2011, 10:12] |
Code $(function() { $('.hideWrap a.hideBtn').each(function(i) { var cookie = getCookie('hideBtn' + i); if (cookie && cookie.indexOf('show') > -1) { $(this).toggleClass('show').parents('.hideWrap').find('.hideCont').show(); } }); $('.hideWrap a.hideBtn').click(function() { var cont = $(this).parents('.hideWrap').find('.hideCont'); $(this).toggleClass('show'); cont.slideToggle('normal'); var hideBtn = $('.hideWrap a.hideBtn').index($(this)), isShow = $(this).attr('class'); setCookie('hideBtn' + hideBtn, isShow, 365); return false; }); });
Cпасибо за ответ, думал не ответят, я сделал как ты сказал и ещё исправил проблему с "});" $(function() { не был закрыт, но всё равно не работает в Chrome, ещё он в Chrome в закрытом виде появляется, а в Firefox хорошо отображаться в открытом. А на счёт кода я его взял из твоего поста #9
А внедрить этот код к основному, точнее отредактировать первый и заменить на этот помоги Code (function($) { $(".hidden_menu_button").click(function() { if ($(".hidden_menu").is(":hidden")) { $(".hidden_menu").slideDown("normal"); } else { $(".hidden_menu").slideUp("normal"); } }); })(jQuery);
Сообщение отредактировал remus - Вторник, 18.10.2011, 21:04 |
|
[3 | Тема: Плавное сворачивание / разворачивание блока + куки] remus [19.10.2011, 11:59] |
Quote (likbezz) Ты, часом, не на локале тестишь? в смысле не с жесткого запускаешь? Да с него :D
Code (function($) { $("#hidden_menu_button").click(function() { if ($("#hidden_menu").is(":hidden")) { $("#hidden_menu").slideDown("normal"); } else { $("#hidden_menu").slideUp("normal"); } }); })(jQuery);
да блин я чуть не то кинул, мне надо что бы открывалось по этой системе, вот, а блок у меня не 1 их 16 просто я разобраться не могу в js сколько всего прочитал так и не понял...
------------------
на одном форуме вообще написал парень
Quote (PhoEn-X) Страшный скрипт... не проще подключить JQuery версию cookie? Code http://wd-planet.ucoz.ru/cookie.js Code function createCookie() {$.cookie('cookie01', 'cookie01cont');}; // создаем куки с именем cookie01 $.cookie('cookie01'); // считываем (если они созданы) if ($.cookie(cookie01')) {какая нибудь функция}; // если созданы куки cookie01 то выполняется "какая нибудь функция" function delCookie() {$.cookie('cookie01', null, {path: '/'});}; // функция удаления куки cookie01 Code ну и управляем созданием и удалением)) <a onclick="createCookie();">Создать куки</a><a onclick="delCookie();">Удалить куки</a>
Сообщение отредактировал remus - Среда, 19.10.2011, 12:03 |
|
[4 | Тема: Плавное сворачивание / разворачивание блока + куки] remus [19.10.2011, 17:30] |
likbezz, извиняюсь, я не внимательно все посты прочитал, теперь буду знать. Как я понял браузер не на компьютере, а на локальном сервере.
Да ты прав мне надо было изменить анимацию при открытие/закрытие блока, что собственно ты и сделал, спасибо! Quote (likbezz) Вам типа, нужно сменить тип анимации при открытии/закрытии блока? Если да, тоже не очень понял, то вот так: Оказывается всё так просто... Quote (likbezz) А именно, строка: Code if(cont.is(':hidden')){cont.slideDown('normal');}else{cont.slideUp('normal');};
Я хотел поменять с $.slideToggle(); на $.slideUp();$.slideDown(); я про эти функции читал, но мне функция $.slideToggle(); не нравиться тем что когда много раз нажимаешь на неё, ну допустим большой текст, он будет открывать закрывать, хотя ты уже убрал курсор, а функции $.slideUp();$.slideDown(); не дают так делать... Quote (likbezz) Но, вообще-то, функция $.slideToggle(); выполняет тот же код, что и ваш - то бишь, проверяет скрыт ли блок, и, если скрыт - открывает его именно методом $.slideUp();, если же открыть, то закрывает его методом $.slideDown(); ... Так что, ... так.
Сообщение отредактировал remus - Среда, 19.10.2011, 17:31 |
|
[5 | Тема: Плавное сворачивание / разворачивание блока + куки] remus [19.10.2011, 23:48] |
Code .hideBtn{ /* img/minus */ } .hideBtn.close{ /* img/plus */ } /* ну и удалил display:none -> hideCont */
что то не дописал я, что бы изначально в открытом виде блоки были... Code $(document).ready(function() { $('.hideWrap .hideBtn').each(function(i) { var cookie = getCookie('hideBtn' + i); if (cookie && cookie.indexOf('close') > -1) { $(this).toggleClass('close').siblings('.hideCont').hide(); } });
$('.hideWrap .hideBtn').click(function() { var cont = $(this).siblings('.hideCont'); $(this).toggleClass('close'); if (cont.is(':hidden')) { cont.slideDown('normal'); } else { cont.slideUp('normal'); } var hideBtn = $('.hideWrap .hideBtn').index($(this)), isShow = $(this).attr('class'); setCookie('hideBtn' + hideBtn, isShow, 365); return false; }); });
Сообщение отредактировал remus - Среда, 19.10.2011, 23:51 |
|
[6 | Тема: Плавное сворачивание / разворачивание блока + куки] remus [21.10.2011, 22:40] |
исправил теперь в открытом виде и сохраняет. Code $(document).ready(function() { $('.hideWrap .hideBtn').each(function(i) { var cookie = getCookie('hideBtn' + i); if (cookie && cookie.indexOf('close') != -1) { $(this).toggleClass('close').siblings('.hideCont').hide(); } });
$('.hideWrap .hideBtn').click(function() { var cont = $(this).siblings('.hideCont'); $(this).toggleClass('close'); if (cont.is(':hidden')) { cont.slideDown('normal'); } else { cont.slideUp('normal'); } var hideBtn = $('.hideWrap .hideBtn').index($(this)), isShow = $(this).attr('class'); setCookie('hideBtn' + hideBtn, isShow, 365); return false; }); });
но на див работает, а на таблице нет! почему? Code <div class="hideWrap"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td> <a class="hideBtn" href="javascript://">открыть/закрыть</a> </td> </tr> <tr> <td> <div class="hideCont"> текст </div> </td> </tr> </table> </div> |
|
[7 | Тема: Плавное сворачивание / разворачивание блока + куки] remus [21.10.2011, 23:06] |
получается так ?
Code $(document).ready(function() { $('.hideWrap .hideBtn').each(function(i) { var cookie = getCookie('hideBtn' + i); if (cookie && cookie.indexOf('close') != -1) { $(this).toggleClass('close').parents('.hideWrap').find('.hideCont').hide(); } }); $('.hideWrap .hideBtn').click(function() { var cont = $(this).parents('.hideWrap').find('.hideCont'); $(this).toggleClass('close'); if (cont.is(':hidden')) { cont.slideDown('normal'); } else { cont.slideUp('normal'); } var hideBtn = $('.hideWrap .hideBtn').index($(this)), isShow = $(this).attr('class'); setCookie('hideBtn' + hideBtn, isShow, 365); return false; }); });
Сообщение отредактировал remus - Пятница, 21.10.2011, 23:10 |
|