Помогите со скриптом разворачивания текста
<script type="text/javascript"> $(document).ready(function() {$('#opislink1').click(function() { if ( jQuery.browser.msie && parseInt(jQuery.browser.version) == 6) { if ($('#opis1').css("display")=="block") {$('#opis1').css("display", "none"); } else {$('#opis1').css("display", "block"); } } else {$('#opis1').toggle("normal"); } if ($('#button3').text()=='Развернуть') {$('#button3').text('Свернуть'); } else {$('#button3').text('Развернуть'); } }); }); </script> <a href="javascript:void(0)" id="opislink1"><class id="button3">Развернуть</div></a> <div class="opis" id="opis1">Текст</div> этот скрипт работает только с одной кнопкой разворачивания текста, а у меня на сайте их несколько. Как сделать, чтобы скрипт работал со всеми кнопками? |
Назначайте события по классу элемента, а не по id. Только тогда надо смотреть или отношения потомок/родитель или отслеживать предыдущий/следующий.
|
<script type="text/javascript" src="http://yandex.st/jquery/1.4.2/jquery.min.js"></script> <style type="text/css"> div.opis{ display:none; height:100px; width:340px; padding:12px; margin-top:12px; border-radius:15px; -webkit-border-radius:15px; -khtml-border-radius:15px; -moz-border-radius:15px; -o-border-radius:15px; -ms-border-radius:15px; box-shadow: 0px 5px 18px #000; -webkit-box-shadow:0px 5px 18px #000; -khtml-box-shadow:0px 5px 18px #000; -moz-box-shadow:0px 5px 18px #000; -ms-box-shadow:0px 5px 18px #000; } a.opislink { margin-top:12px; display:block; } </style> <div class="Wrap"> <a href="#" class="opislink" >Развернуть</a> <div class="opis">Текст</div> </div> <div class="Wrap"> <a href="#" class="opislink" >Развернуть</a> <div class="opis">Текст</div> </div> <div class="Wrap"> <a href="#" class="opislink" >Развернуть</a> <div class="opis">Текст</div> </div> <script type="text/javascript"> $(document).ready(function(){ $('a.opislink:not(.active)').live('click',function(){ $(this).addClass('active'); $(this).html('Свернуть') $(this).parent().find('div.opis').slideDown(760) return false; }); $('a.opislink.active').live('click',function(){ $(this).removeClass('active'); $(this).html('Развернуть') $(this).parent().find('div.opis').slideUp(760) return false; }); }); </script> |
Deff,
Очень красиво.) а можно сделать чтобы заголовки оставались прежнеми?! |
спасибо огромное
|
Deff,
я тебя оч. уважаю за то что ты делаешь для новичков, но не лучше ли дать удочку, а не рыбу?)) |
Serg_pnz,
Ну мож я чуть эгоист - шеф просил нарастить скорость |
у меня такаяже проблема... накидал скриптов текст почти также красиво раскрывается(без рамки) но мне нужно чтоб при нажатии на следующую ссылку предыдущий текст закрывался
|
Deff,
поможите |
<script type="text/javascript" src="http://yandex.st/jquery/1.4.2/jquery.min.js"></script> <style type="text/css"> div.opis{ display:none; height:100px; width:340px; padding:12px; margin-top:12px; border-radius:15px; -webkit-border-radius:15px; -khtml-border-radius:15px; -moz-border-radius:15px; -o-border-radius:15px; -ms-border-radius:15px; box-shadow: 0px 5px 18px #000; -webkit-box-shadow:0px 5px 18px #000; -khtml-box-shadow:0px 5px 18px #000; -moz-box-shadow:0px 5px 18px #000; -ms-box-shadow:0px 5px 18px #000; } a.opislink { margin-top:12px; display:block; } </style> <div class="Wrap"> <a href="#" class="opislink" >Развернуть</a> <div class="opis">Текст</div> </div> <div class="Wrap"> <a href="#" class="opislink" >Развернуть</a> <div class="opis">Текст</div> </div> <div class="Wrap"> <a href="#" class="opislink" >Развернуть</a> <div class="opis">Текст</div> </div> <script type="text/javascript"> $(document).ready(function(){ $('a.opislink:not(.active)').live('click',function(){ $('a.opislink.active').click(); $(this).addClass('active'); $(this).html('Свернуть') $(this).parent().find('div.opis').slideDown(760) return false; }); $('a.opislink.active').live('click',function(){ $(this).removeClass('active'); $(this).html('Развернуть') $(this).parent().find('div.opis').slideUp(760) return false; }); }); </script> |
уточняю: ато текст добавляется и заползает на другой блок
|
:) постом ранее
|
Алилуя я неделю мучался уроки учил а времени нет..огромное.. нет ОГРОМНОЕ СПАСИБО!!!!!
|
Цитата:
|
Deff,
х.з. как привлечь внимание я тут новичёк и сайтостроение только неделю изучаю(эт чтоб не ругали сильно) |
Цитата:
<a href="http://javascript.ru/forum/"><img src="http://javascript.ru/forum/images/smilies/sad.gif" border="0" alt="" title="Sad" class="inlineimg"/></a> С переходом <a href="http://qps.ru/VWohs" target=_blank"><img src="http://javascript.ru/forum/images/smilies/sad.gif" border="0" alt="" title="Sad" class="inlineimg"/></a> |
Цитата:
|
12
|
Александр БЛА БЛА,
:) А чо делать то нужно, поясните еще раз поподробней ? |
1-е html 2-е css но это старый вариант где текст следующей ссылки добавляется к предыдущему. а ваш метод и так и так пытался... либо текст под картинками открывался либо сыпалась вся страница ну и много других нерабочих вариантов......:-E
|
нужно чтоб ссылки в sidebarL. а текст выплывал в content красиво как во вчерашней помоще
|
Завтра гляну вечером,
Да этот скрипт: <script src="js/equalHeight.js"></script> имеет отношение ? Если да - нужен код |
$(document).ready(function() { function setEqualHeight(columns) { var tallestcolumn = 0; columns.each( function() { currentHeight = $(this).height(); if(currentHeight > tallestcolumn) { tallestcolumn = currentHeight; } } ); columns.height(tallestcolumn); } setEqualHeight($("#sidebarL,#sidebarR,#content")); }); |
этот в принципе ненадо... это блоки выравнивать, стоит чтоба footer не поднимался... В принципе вопрос о самозакрывании открытого раннее текста и встал изза того что content не раздвигается и текст заползает на блок footer..... heigth:auto здесь не рулит. :blink:
|
Г-код, но работает.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Косметология Perfection</title> <link href="css/Perfection.css" type="text/css" rel="stylesheet"> <script type="text/javascript" src="http://yandex.st/jquery/1.5.1/jquery.min.js"></script> <script src="js/equalHeight.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('a.opislink:not(.active)').live('click',function(){ var Sel = '#'+$(this).attr('href'); $('.opislink.active').removeClass('active'); $(this).addClass('active'); $("div.opis").slideUp(760); $(Sel).slideDown(760); return false; }); $('a.opislink.active').live('click',function(){ $(this).removeClass('active'); var Sel = '#'+$(this).attr('href'); $(Sel).slideUp(760); return false; }); }); </script> </head> <body> <div id="wrapper"> <div id="header"></div> <div id="tel"><img src="images/tel.png" width="280" height="50"></div> <div id="sidebarL"> <a class="opislink" href="opis1" ><img src="images/111.png" width="150" >Фотоэпиляция</a> <a class="opislink" href="opis2" ><img src="images/1111.jpg" width="150" >Фотоомоложение</a> <a class="opislink" href="opis3" ><img src="images/1.jpg" width="150" >Уход за лицом и телом</a> </div> <div id="sidebarR"> <a href="javascript:void(0)"> Оборудование</a> <a href="javascript:void(0)">Наши скидкии</a> <a href="javascript:void(0)"> чётотам</a> </div> <div id="content" > <div class="opis" id="opis1" > <strong>Фотоэпиляция</strong> это самый современный способ безболезненного удаления нежелательных волос на любом участке тела на длительный срок. Удаление волос осуществляется посредством коагуляции (разрушения) волосяных фолликул с помощью мощных импульсов света, которые воздействуют на стержни и корни волос. Красящий пигмент волос ( меланин) поглощает энергию световых волн. В результате световая энергия переходит в тепловую, корни волос нагреваются и погибают. Следует отметить, что темные волосы содержат больше меланина, чем светлые или седые. Поэтому фотоэпиляция наиболее эффективна при темных волосах, менее эффективна при светлых . После первого сеанса удаляеться около 40% волос -это те волосы, которые находились в активной фазе роста. Через каждые 3-4 недели процедуру нужно повторить. В среднем нужно пройти 5-8 процедур. После курса процедур волосы не растут 5-8лет. <h4>Преимущества фотоэпиляции</h4> <ul> <li>Нет раздражения</li> <li>Высокая эффективность</li> <li>Быстрота воздействия</li> <li>Не травматичность </li> <li>Безболезненность </li> <li>Не возможность инфицирования </li> </ul> </div> <div class="opis" id="opis2" > <strong>Фотоомоложение</strong>это самая современная и безболезненная методика устранения возрастных изменений кожи лица. Основой метода является действие импульса высокоинтенсивного света. Световые волны разной длины воздействуют на разные слои и типы кожи. В зависимости от длины световой волны и продолжительности воздействия на кожу различают три типа светового импульса: <ol> <li>тип позволяет устранить сосудистые звездочки, гиперпигментацию и покраснения;</li> <li>тип способствует обесцвечиванию не глубоко залегших пигментных пятен, уменьшению морщин и сужению расширенных пор;</li> <li>тип воздействует на глубокие слои кожи, стимулируя выработку коллагена и эластиновых волокон создавая подтягивающий эффект. Не требует реабилитационного периода.</li> </ol> </div> </div><!--End #content --> <div id="footer"><p>Наш адрес: ул.Северная 400 <p> (Угол ул. Северной и ул. Янковского) </p> 4 этаж кабинет 401</p> <p><a href=" http://maps.yandex.ru/?text=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F%2C%20%D0%9A%D1%80%D0%B0%D1%81%D0%BD%D0%BE%D0%B4%D0%B0%D1%80%D1%81 %D0%BA%D0%B8%D0%B9%20%D0%BA%D1%80%D0%B0%D0%B9%2C%20%D0%9A%D0%A0%D0%90%D0%A1%D0%9D%D0%9E%D0%94%D0%90%D0%A0%2C%20%D0%9A%D0%B0%D1%80%D0%B0%D1%81%D 1%83%D0%BD%D1%81%D0%BA%D0%B8%D0%B9%20%D1%80%D0%B0%D0%B9%D0%BE%D0%BD%2C%20%D1%83%D0%BB%D0%B8%D1%86%D0%B0%20%D0%A1%D0%B5%D0%B2%D0%B5%D1%80%D0%BD% D0%B0%D1%8F%2C%20400&sll=38.984521%2C45.038521&ll=38.985884%2C45.038596&spn=0.023603%2C0.003712&z=16&l=map%2Cstv&ol=stv&oll=38.984369%2C45.0388 53&ost=dir%3A-192.3611129559762%2C2.658791839084038~spn%3A90%2C64.01076641616699" target="_blank"> Посмотреть на карте </a></p> <p>Наши телефоны: +7-918-999-44-94; +7-909-44-88-446</p> </div> </div> </body> <style> /* Стиль раскрывающихся блоков */ div.opis{ display:none; position:relative; background-color:#FFFFFF; z-index:100; width:340px; padding:12px; margin-top:12px; border-radius:15px; -webkit-border-radius:15px; -khtml-border-radius:15px; -moz-border-radius:15px; -o-border-radius:15px; -ms-border-radius:15px; box-shadow: 0px 5px 18px #000; -webkit-box-shadow:0px 5px 18px #000; -khtml-box-shadow:0px 5px 18px #000; -moz-box-shadow:0px 5px 18px #000; -ms-box-shadow:0px 5px 18px #000; } a.opislink { margin-top:12px; display:block; } /* Cтарый стиль*/ body{ font:17px tahoma; color:#000; background:url(../images/3.jpg) no-repeat fixed; -moz-background-size: 100%; /* Firefox 3.6+ */ -webkit-background-size: 100%; /* Safari 3.1+ и Chrome 4.0+ */ -o-background-size: 100%; /* Opera 9.6+ */ background-size: 100%; } .opis{display:none; text-align: justify;} #wrapper{ width:850px; /*outline:1px solid #cccccc;*/ padding:10px; margin:0 auto; height:auto; } #header{ position:relative; height:120px; width:900px; background-image:url('smiley.gif'); background-repeat:no-repeat; background-position:center; background-image:Url(../images/Head1.png) ; } #content{ /*background-color:#FFFFFF;*/ margin:0 160px 12px 160px; width:580px; height:460px; } #tel{ position:fixed; width:280px; height:50px; top:0; right:0; } #head{ position:absolute; left:0; top:-14px; z-index:3; } #sidebarL{ text-align: center; /*background-color:#ebebeb;*/ margin-bottom:12px; width:150px; float:left; } #sidebarR{ text-align: center; margin-bottom:12px; width:150px; float:right; } #footer{ display:inline-block; text-align: center; height:auto; font-size:15px; font-weight:700; /*background-color:#111111;*/ margin-bottom:12px; } </style> </body> </html> Ссылку на ID открываемого блока всовываем в HREF ссылки <a class="opislink" href="opis1" ><img src="images/111.png" width="150" >Фотоэпиляция</a> |
Deff,
Ай молодца!!!напиши номер я те хоть пару соток на тел завтра кину |
:)
|
отредактировал выше уменьшил до 2 ссылок как мне развертывание приделать к ссылке(кнопке) "ПОДРОБНЕЕ"
|
я так понимаю что либо от кнопок либо от скрытого текста прийдётся отказаться?
|
Александр БЛА БЛА,
Добавьте run и hide [HTML run hide height=700] //Тут Код [/html] |
Deff,
[html run hide height=700 xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr"] сюда? а сама ссылка как будет? <a class="comments-link" class="opislink" href="opis1">Уход за лицом и телом</a> ???? |
Александр БЛА БЛА,
Нет, первый BB тег в Коде поста 28 |
Deff,
не я не вкуриваю. Это типа в 28ю строку? в код html..? или css? и какой синтаксис ссылки??? |
Александр БЛА БЛА,
Страница длинная и не читабельная и код не запускаемый Найдите при редактировании в сообщении #28 [HTML] И замените |
Deff,
28 это css |
незаметил что нечитается.переделал. выложить?
|
И 23
//Лан - ушел, напомни завтра к вечеру |
Deff,
спасибо за помощь... методом научного тыка нашёл место для [HTML run hide height=700] в смысле я ссылку неправильно прописывал и неполучалось |
Александр БЛА БЛА,
Объясните еще раз суть правки - я уже забыл |
Deff,
доброго времени суток. появился ещё вопрос. рыл рыл наверно не там (и якоря лепил, и сам текст в ссылку вкладывал(по 2 раза открывается)). подскажите пожалуста как к 25му посту приделать на body, "click" со сворачиванием текста и возвратом в начало страницы. контент большой, ссылки fixed и приходится крутить колесо на мыше до верха. не юзабилити... надеюсь в ближайшем будущем выложу - дам ссылку. зацЕните свою помощь. |
Часовой пояс GMT +3, время: 00:10. |