DacentGS Опубликовано 16 Октября 2007 Жалоба Поделиться Опубликовано 16 Октября 2007 Помогите доделать очень хороший тег! Скрытие текста, вот что у меня пока есть: Плюсы данного тега: вкладки могут вкладываться в друг друга, если у пользователя отключен или не работает javascript, вкладка отображается открытой... ББ код:<a class='show_hide_button' id='show_hide_button'>-</a> <span class='hidden_block_title'>{option}</span><div class='hidden_block' id='hidden_block'>{content}</b></div><script type='text/javascript'>assign_show_hide_button('hidden_block', 'show_hide_button')</script> ЦСС:.show_hide_button { font-family: Courier New, Courier, Sans-Serif; border: 1px solid #888; background-color: #FFF; padding: 0 4px 0 4px; }.show_hide_button:hover { background-color: #BCD0ED; }.hidden_block_title { border-bottom: 1px dashed #888; padding: 0 0 1px 0; }.hidden_block { margin-left: 8px; margin-top: 5px; } Добавление функции в ips_topics.js: (не уверен, но вроде так работает)function assign_show_hide_button(element_id, button_id, show_text, hide_text, show_display_style, current_display, onshow) { if (!show_text) show_text = '+'; if (!hide_text) hide_text = '-'; if (!show_display_style) show_display_style = 'block'; var button = document.getElementById(button_id); var element = document.getElementById(element_id); button.style.textDecoration = 'none'; if (current_display) { element.style.display = show_display_style; button.innerHTML = hide_text; } else { element.style.display = 'none'; button.innerHTML = show_text; } button.href = "java script:void(null)"; button.onclick = function() { if (element.style.display == 'none') { element.style.display = show_display_style; button.innerHTML = hide_text; onshow && onshow(); } else { element.style.display = 'none'; button.innerHTML = show_text; } return false; } } Тег вроде работает, но вот в чём дело, когда добавляешь два тега, то второй не работает и по умолчанию открыт!Пример: http://img87.imageshack.us/img87/4733/20852925ne6.gifПричём он не то что бы просто открыт, он просто тупо не работает, как это исправить? Может просто я что то не то сделал? Вообщем надеюсь Вы мне поможете. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 16 Октября 2007 Жалоба Поделиться Опубликовано 16 Октября 2007 Зачем изобретать велик если есть (хак) тег spoiler? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 16 Октября 2007 Автор Жалоба Поделиться Опубликовано 16 Октября 2007 Мне нужен именно этот тег. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 16 Октября 2007 Жалоба Поделиться Опубликовано 16 Октября 2007 Имхо не пашет с несколькими блоками потому как IDшники у DIV-ов одинаковые.У тебя же JS-код по ID-шнику ищет эелемнт странички. вот отседа и проблема и вылезает. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 16 Октября 2007 Автор Жалоба Поделиться Опубликовано 16 Октября 2007 Тоесть.Что сделать то надо? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 16 Октября 2007 Жалоба Поделиться Опубликовано 16 Октября 2007 Тоесть.Что сделать то надо? Либо обращение по this (не на всех браузерах будет работать), либо создавать динамические объекты с динамическими айдишниками (геморрно писать код). Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 16 Октября 2007 Автор Жалоба Поделиться Опубликовано 16 Октября 2007 Первый вариант в IE работать будет? Как вообще это сделать? Сори что так много вопросов Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 16 Октября 2007 Жалоба Поделиться Опубликовано 16 Октября 2007 А чем тебе код из другой темы не понравился(там как раз динамические id)? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 16 Октября 2007 Автор Жалоба Поделиться Опубликовано 16 Октября 2007 Во первых нету возможности вкладки добавлять друг в друга, во вторых внутри не работают тэги, да и много чего ещё.Вообщем нужен именно это, ну или хотя бы что бы очень похож был, стиль тот же и вышеперечисленное работало. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 16 Октября 2007 Жалоба Поделиться Опубликовано 16 Октября 2007 Насколько мне помнится со спойлером вложеность пашет Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 16 Октября 2007 Автор Жалоба Поделиться Опубликовано 16 Октября 2007 Что за спойлер, дайте ссылку, хоть посмотрю что это. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 16 Октября 2007 Автор Жалоба Поделиться Опубликовано 16 Октября 2007 Можно ли как то этот код изменить что бы в нём работали ББ теги? Просто очень надо что бы это было.<script type='text/javascript'> mytagid = Math.floor( Math.random() * 100 ); document.write("<a class='show_hide_button' id='show_hide_button' onclick='toggleview("+'"'+mytagid+'_closed'+'"'+");return false;'>+</a> <span class='hidden_block_title'>{option}</span><div class='hidden_block' id='"+mytagid+"_closed' style='display:none'>{content}</div>"); document.close();</script> Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 16 Октября 2007 Автор Жалоба Поделиться Опубликовано 16 Октября 2007 Вот нашёл альтернативу, но опять таки хочеться кое о чём попросить, т.е. спросить. ББ<div><div style="cursor: pointer; color: #000; font-size: 12px; font-family: Verdana, Tahoma, Helvetica, sans-serif; text-decoration: none" onclick="show_hide_text(this,'{option}')"><a class='show_hide_button' id='show_hide_button'>+</a> <span class='hidden_block_title'>{option}</span></div><div style="display: none">{content}</div></div> JSfunction show_hide_text(divObj,text) { var div = divObj.parentNode.getElementsByTagName('div')[1]; if (div.style.display == 'none') { div.style.display = 'block'; divObj.innerHTML = "<a class='show_hide_button' id='show_hide_button'>-</a> <span class='hidden_block_title'>" + text; } else { div.style.display = 'none'; divObj.innerHTML = "<a class='show_hide_button' id='show_hide_button'>+</a> <span class='hidden_block_title'>" + text; } } И так вопрос: как сделать что ссылка была в виде кнопки? (т.е. кнопка уже есть но нажать можно по всей длинне сообщения, а мне надо что бы только когда нажимаешь на кнопку).Скажите хоть как тут сделать. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 16 Октября 2007 Жалоба Поделиться Опубликовано 16 Октября 2007 Посмотри, какой скрипт используется для спойлера на torrents.ruИМХО, там лучший. Работает во всех браузерах, позволяет складывать спойлер в спойлер. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 16 Октября 2007 Жалоба Поделиться Опубликовано 16 Октября 2007 так там пыхпыхбебе и злостное требование зарегится...вот еслиб ты привел html код его Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 16 Октября 2007 Жалоба Поделиться Опубликовано 16 Октября 2007 так там пыхпыхбебе и злостное требование зарегится...вот еслиб ты привел html код его Если разберешь закомпреснутый код, вот, держи: http://slil.ru/24987963 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
olmer2002 Опубликовано 16 Октября 2007 Жалоба Поделиться Опубликовано 16 Октября 2007 (изменено) удалите. Изменено 16 Октября 2007 пользователем olmer2002 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 16 Октября 2007 Автор Жалоба Поделиться Опубликовано 16 Октября 2007 Так есть возможность обойтись без div? Что бы только на кнопку нажимать можно было? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 16 Октября 2007 Жалоба Поделиться Опубликовано 16 Октября 2007 По поводу того как с this сделать можно:http://www.ibresource.ru/forums/index.php?showtopic=40983 А вот и тег SPOILER:http://www.ibresource.ru/forums/index.php?...60&start=60 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 16 Октября 2007 Автор Жалоба Поделиться Опубликовано 16 Октября 2007 Не думаю что я пойму что делать... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 17 Октября 2007 Автор Жалоба Поделиться Опубликовано 17 Октября 2007 xRay к сожалению я в этом не разбираюсь (оно и понятно, тема то уже созданна), поэтому прошу людей которые точно знают что делать. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 17 Октября 2007 Жалоба Поделиться Опубликовано 17 Октября 2007 А зачем мне разбирать копреснутый яваскрипт, если я его тупо копипасте в отдельный файл, который благополучно закешируется в браузере, а ббкод создаваться будет чисто<div class="sp-wrap"> <div class="sp-head-wrap"><div class="sp-head folded clickable">{option}</div></div> <div class="sp-body"> <div class="sp-content">{content}<div class="clear"></div> </div></div>правда компреснуто ацки) torrents.ru не запрещают использовать этот код?или они тож его откуда-то стырили? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 17 Октября 2007 Жалоба Поделиться Опубликовано 17 Октября 2007 А зачем мне разбирать копреснутый яваскрипт, если я его тупо копипасте в отдельный файлНа торрентсах так и сделано.Я сначала снял страницу, затем поудалял всё лишнее, чтобы получить работающую модель без лишнего кода. torrents.ru не запрещают использовать этот код?или они тож его откуда-то стырили?Не знаю.По-хорошему, надо бы расшифровать код и убрать нафиг плавность своротов-разворотов: это потенциальный отказ в новых браузерах.Но лень гемороиться... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 17 Октября 2007 Жалоба Поделиться Опубликовано 17 Октября 2007 вот я нашел настоящего автора, торрентс может идти фтопку/* * jQuery 1.1.4 - New Wave Javascript * * Copyright © 2007 John Resig (jquery.com) * Dual licensed under the MIT (MIT-LICENSE.txt) * and GPL (GPL-LICENSE.txt) licenses. * * $Date: 2007-08-23 21:49:27 -0400 (Thu, 23 Aug 2007) $ * $Rev: 2862 $ */за выплывание отвечает незакомпресованныйfunction initSpoilers(context) { var context = context || 'body'; $('div.sp-head-wrap', $(context)).click(function(){ $(this).find('div.sp-head').toggleClass('unfolded'); $(this).next('div.sp-body').slideToggle('fast'); }); } ... короче это jQueryhttp://code.google.com/p/jqueryjs/download...jquery-1.2.1.js если заменить всю компреснутую фигню этим файлом, то ничего не изменится все, нашел как сделать без выплыванияfunction initSpoilers(context) { var context = context || 'body'; $('div.sp-head-wrap', $(context)).click(function(){ $(this).find('div.sp-head').toggleClass('unfolded'); $(this).next('div.sp-body').toggle(); }); } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 17 Октября 2007 Автор Жалоба Поделиться Опубликовано 17 Октября 2007 Я надеюсь Вы не забыли зачем эта тема?! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.