Belovsan
User-
Posts
97 -
Joined
-
Last visited
Belovsan's Achievements
Explorer (1/14)
2
Reputation
-
проблема решена, спасибо
-
Неужели никто не может помочь
-
Всем привет! Не могу понять в чём трабл. Есть слайдер на сайте, который во всех браузерах, кроме ИЕ отображается нормально. Уже полдня сижу не могу разобраться. Буду оч благодарен, если дадите советкак победить сие недоразумение. Вот сайт с траблом: _http://alisafashion.ru/catalog/trikotazh/172
-
В общем, остановился таки на этом варианте: http://alt-f4.ru/expanding-menu-by-jquery Но проблема в том, что мне нужно чтобы был переход по ссылке, которая имеет вложения. При этом пункт меню по которому переходишь тож должен раскрыться. Судя по коду надо бы изменить вот эту строку: return false; // Prohibit the browser to follow the link address на return true; // Prohibit the browser to follow the link address/ Однако, тогда получается, что переход возможен, а менюха не разворачивается (. Гуру, помогите, плиз ) Сам код вот (там используются кукисы и jquery.js): $(document).ready(function() { $('ul#my-menu ul').each(function(i) { // Check each submenu: if ($.cookie('submenuMark-' + i)) { // If index of submenu is marked in cookies: $(this).show().prev().removeClass('collapsed').addClass('expanded'); // Show it (add apropriate classes) }else { $(this).hide().prev().removeClass('expanded').addClass('collapsed'); // Hide it } $(this).prev().addClass('collapsible').click(function() { // Attach an event listener var this_i = $('ul#my-menu ul').index($(this).next()); // The index of the submenu of the clicked link if ($(this).next().css('display') == 'none') { // When opening one submenu, we hide all same level submenus: $(this).parent('li').parent('ul').find('ul').each(function(j) { if (j != this_i) { $(this).slideUp(200, function () { $(this).prev().removeClass('expanded').addClass('collapsed'); cookieDel($('ul#my-menu ul').index($(this))); }); } }); // :end $(this).next().slideDown(200, function () { // Show submenu: $(this).prev().removeClass('collapsed').addClass('expanded'); cookieSet(this_i); }); $('ul#my-menu a').click(function(){ if(!$(this).next().is('ul')){ $(this).parents('li').siblings().each(function(i){ if($(this).children('a').is('.collapsible')){ ul = $(this).children('ul'); ul.hide().prev().removeClass('expanded').addClass('collapsed'); var this_i = $('ul#my-menu ul').index(ul); cookieDel(this_i); ul.find('ul').each(function() { $(this).hide(0, cookieDel($('ul#my-menu ul').index($(this)))).prev().removeClass('expanded').addClass('collapsed'); }); } }); } }); }else { $(this).next().slideUp(200, function () { // Hide submenu: $(this).prev().removeClass('expanded').addClass('collapsed'); cookieDel(this_i); $(this).find('ul').each(function() { $(this).hide(0, cookieDel($('ul#my-menu ul').index($(this)))).prev().removeClass('expanded').addClass('collapsed'); }); }); } return false; // Prohibit the browser to follow the link address }); }); }); function cookieSet(index) { $.cookie('submenuMark-' + index, 'opened', {expires: null, path: '/'}); // Set mark to cookie (submenu is shown): } function cookieDel(index) { $.cookie('submenuMark-' + index, null, {expires: null, path: '/'}); // Delete mark from cookie (submenu is hidden): }
-
Ну, эт один из вариантов. Но есть ещё такой способ. Что вот если я, например, открыл меню и перешёл по ссылке, то сохраняется этот вид меню уже на новой странице. Короче как-то через cookie делается. Вот тут я прочитал: http://alt-f4.ru/expanding-menu-by-jquery Но вот как именно это дело присобачить к моей менюхе я х/з (
-
В общем есть менюха: http://blog.evaria.com/wp-content/themes/blogvaria/jquery/index-multi.php И всё в ней пучком, да только захлопывается зараза при переходе по активной ссылке. Я так понял, что для того, чтоб она не схлопывалась, к ней надо прикрутить jquery.cookie.js Это я сделал, но вот походу ещё и какой-то сценарий нужно написать, чтоб оно работало. Вот это сижу, втыкаю как баран, ничё не могу понять ((( Если есть добрые люди, которые знают как меня осчастливить - помогите плиз. Бду очень благодарен )
-
Автоматическое растягивание по ширине пунктов выпадающего меню
Belovsan replied to Belovsan's question in HTML Coding
psywalker, спасибо за тёплые слова, дружище! И за твой вариант решения спасибо. Ведь иметь в арсенале два решения - это лучше, чем иметь одно или вообще ни одного. Иногда одно решение неприменимо в некоторых случаях, и здОрово, когда есть ещё один вариант. В общем, именно, надо всё дожимать до конца. Бороться и побеждать! Падать и подниматься! Присел, отдохнул, перевёл дыхание и дальше пошёл! И тогда будет достигнута вершина и одержана победа над любой задачей! Во как сказал! -
Автоматическое растягивание по ширине пунктов выпадающего меню
Belovsan replied to Belovsan's question in HTML Coding
Я прошу прощения, что так сказать, с небольшим опозданием присоединяюсь к вашей высокоинтеллектуальной беседе, господа. Просто тут у нас в Вилларрибо мне поручили сверстать макет одного дизайнера-извращенца и, собственно, поэтому, я был вынужден погрузиться с головой во весь тот мрак, который пришёл в воспалённое сознание этого гения вэб дизайна. Но теперь, к счастью, всё позади. Работа выполнена. Мозг слегка отдохнул. И простой деревенский парнишка из Вилларрибо по имени Belovsan, вновь здесь. Мне стыдно признаваться (сейчас Миха ухмыльнётся), но я, блин, так до сих пор и не изучил JS. Да и не только JS, я вообще никаких скриптов пока не изучил. Это, каншн, минус, но я, сука, упрямый - и это плюуууус! Итак, в данной ситуации незнание скриптов пошло мне на пользу. Ибо мне удалось найти решение данной проблемы без помощи скрипта. Честно говоря, я толком так и не понял почему всё это так у меня получилось (хотя, если честно , то кое-что понял, ну а кое-что чисто на интуитивном уровне догнал), но в нашем случае важен результат. Правильно? Итак, слегка поковыряв свой код я выполнил три магических действия, которые помогли мне достичь нужного результата: 1. Я убрал у блока: #nav li такой параметр, как position:relative; В результате чего, мне удалось решить проблему с переносом слов в выпадающем списке. 2. Тегу #nav ul я не назначал параметр left. Ибо его нельзя назначать, так как уже #nav li не relative. Собственно, после этих несложных действий уже всё отлично работает во всех браузерах, кроме ИЕ6 и ИЕ7. Переходим к третьему пункту. 3. Для тегов: #nav li ul li и #nav li ul li a не назначаем никакой высоты , тобишь height. Не нужна она там. И вуаля, ИЕ7 нам покорился. В нём тож всё отлично работает (Хотя для меня тут остаётся загадкой: какое отношение высота имеет к ширине? Но ИЕ7 - это клинический случай, я уже молчу об ИЕ6). Единственное, это надо назначить принудительную ширину тегу #nav li ul и высоту тегам #nav li ul li и #nav li ul li a - для ИЕ6. Тут я не смог добиться идилии. Но учитывая то, что ИЕ6 нас вскоре покинет навсегда, можно считать, что цель достигнута, дорогие товарищи! Ура! Насладиться результатом, вы можете, перейдя вот по этой ссылке: http://verstku.narod.ru/trablmenu/index.html Теперь можно увеличивать или уменьшать кол-во слов в выпадающих пунктах меню - всё будет автоматом растягиваться и всё такое. Короче - красота типа ) p.s. Спасибо всем откликнувшимся на эту тему. Думаю, мы делаем доброе дело ) p.s. p.s. Кстати, а для изменения высоты пунктов меню есть такой параметр, как line-height -
Автоматическое растягивание по ширине пунктов выпадающего меню
Belovsan replied to Belovsan's question in HTML Coding
psywalker, приветствую, дружище! Давненько я уже здесь не был ). Дак нечего там рисовать. Короче, есть выпадающее меню. Надо чтоб оно по ширине тянулось в зависимости от величины самого большого слова в выпадающем списке (речь идёт именно о выпадающем списке). Ессно, чтобы все пункты из выпавшего списка менюхи были одной ширины. То есть, если мы имеем в выпадающем списке пункты: Иванов, Петров, Череззаборногузадерищенко, то все пункты должны по ширине подогнаться под ширину самого большого пункта (Череззаборногузадерищенко). Сейчас почему-то пункты ограничены по ширине. Хотя я им ширину не ограничивал. Тем не менее, они начинают переноситься на новую строку. Вот так: http://verstku.narod.ru/trablmenu/index.html По версии, предложенной господином tt48 в принципе решается трабл, но не везде. Скажем в ИЕ7, ИЕ6 чёт оно не очень корректно отображается. Да и мне что-то думается, что должен быть более корректный выход. Кроме того, вся ж страна верстает вып менюхи. Ну, или полстраны ) -
Автоматическое растягивание по ширине пунктов выпадающего меню
Belovsan replied to Belovsan's question in HTML Coding
Неужели все так делают? Ведь выпадающее меню - это вроде как нередко встречающийся участок работы. И наверняка многим приходилось делать его пункты именно резиновыми. Поделитесь, плиз, своими вариантами вёрстки. Ведь это будет полезно широкому кругу верстальщиков, в том числе и начинающим ) -
Автоматическое растягивание по ширине пунктов выпадающего меню
Belovsan replied to Belovsan's question in HTML Coding
Это единственный способ? Честно говоря немного не кроссбраузерно выходит. ИЕ7, ИЕ6 криво отображают. Там получается уже другая проблема. Если разная ширина каждого пункта (в зависимости от наполнения) - это в ИЕ7. -
Автоматическое растягивание по ширине пунктов выпадающего меню
Belovsan posted a question in HTML Coding
Всем добрый вечер. Вот уже реально крышу несёт не могу разрешить проблему. В общем есть горизонтальное выпадающее меню. Надо сделать так, чтобы выпадающие пункты по ширине растягивались в зависимости от величины названия пункта меню. То есть, чтобы общая ширина выпадающего меню бы соотв ширине самого длинного назв пункта. Уже мучаюсь целый день никак не могу въехать, как это сделать. Вот пациент: http://verstku.narod.ru/trablmenu/index.html Получается в две строки почему-то идут выпадающие пункты и хоть ты тресни (((. Уже просто чувтсввую, что мозг близок к взрыву. Помогите, плиз. Спасибо. -
Ага, стоп. Значит режим совместимости отключил. Но оно заработало от того, что работало в режиме ИЕ7. Сейчас активировал режим ИЕ8, и вновь не пашет ( Неужели ИЕ8 - это новый этап в развитии глюков компании Майкрософт?
-
Включён. Отключил и заработало. Надо же А я что, неправильно сделал? Вот так надо - a.tovar:active? Просто оно и так и так работает. Но хочется ж грамотно чтобы всё
-
Точнее не хочет работать так как во всех остальных браузерах. Ситуация вот какая. Значит у меня есть такого плана код: <a class="tovar" href="#"><img src="../images.jpg" alt="Люблю я ИЕ" /></a> Ситуация следующая. Моя картинка имеет размер 100х100 пикселей. Я присваиваю для тега "а" display:block; и задаю ему размеры width:100px; height:100px; В общем, имею внутри блока "а" картинку такого же размера. Ну и скажем хочу, чтобы при ситуации клика у меня вокруг блока "а" появился бордер. Пишу: a:active.tovar {border:1px solid #000;} И что я имею? Блин, все браузеры нормально работают, а новый мега-продвинутый ИЕ8 не работает. Причём, причина его отказа заключается в том, что как-бы он считает, что клик происходит не по ссылке а по картинке, поэтому бордер ставить не надо. Ну не зараза! Ёк-макарёк! Если картинку установить фоном, то всё отлично. Но мне не надо ж фоном. Мне надо именно в коде страницы картинку поставить. Кто-нибудь в курсе как вылечить такую ситуацию? И возможно ли вылечить? p.s. Да и вот ещё такой момент. Надо присвоить бордер именно блоку "а", вокруг картинки не надо. Так как она может немного уменьшиться по размерам. Надо именно вокруг блока "а".