Изменение скрипта...
Всем привет. Есть такой скрипт, задача которого открывать и скрывать текст при нажатии на ссыль!
Работает скрипт нормуль, но хотелось бы кое что к нему добавить. А именно сделать так, чтобы при нажатии на одну из ссылок, сначало скрылся открытый текст (который я открыл до этого), а уже потом открылся новый. Вот сам скрипт: Работает так: http://www.dhtmlgoodies.com/scripts/...e-content.html Код:
<script type="text/javascript"> подключаемый CSS.... Код:
.question{ Код:
|
например мжно так:добавьте глобальную переменную, которая бы указывала текущий открытый элемент.
при срабатывании showHideAnswer() сначало пусть скроется тот элемент, на который ссылается, а затем все остальное пусть происходит. PS кажется такая тема уже мелькала давно на форуме |
Хотелось бы, что бы вы сами исправили скрипт. Мои знания c++ пока не позволяют его исправить =)
|
Цитата:
скрипт на JS, и обратились вы на форум не по C++, а по JS. откуда у вас этот скрипт? сами написали?в чем проблемы исправить? откуда-то взяли?пожинайте плоды бесплатного сыра. исправлять надо совсем мало.но мне не нравится ваша постановка вопроса.тут на оруме помагают написать, дав совет, список литературы, и задав направление. полностью пишут программы в разделе "Работа". короче, я не вижу вашей попытки решить проблему самостоятельно. и писать код ЗА ВАС не собираюсь. для человека знающего JS хотя бы день не возникнет проблемы реализовать мой совет в действии. идите курите мануалы. согласен вам написать код, при условии, что вы напишите как бы вы реализовали мой совет если бы писали на C++, хотя бы примерно, в общих чертах.чтобы я увидел, что вы хоть что-то самостоятельно пытаетесь делать. либо можете дождатся пока более добрые софорумчане напишут вам готовый код. |
С++ при том, что код мне понятен (не сильно от си отличается).
Скрипт скачал отсюда - http://www.dhtmlgoodies.com/index.ht...w_hide_content Проблема исправить - я не знаю яву вообще. Я провозился с ним 2 дня и у меня не вышло. То, что исправить мало - знаю. Буквально 2 строчки, но ещё раз повторюсь. Я не программирую на яве. Не собираетесь писать - спасибо за внимание. Подожду помощи другого! |
Цитата:
Цитата:
P.S. По делу, почитайте статьи по управлению стилями в js, этого Вам как человеку знакомому с Си думаю будет достаточно (простую логику и самому можно выстрадать, к тому же учитывая то, что Вам помогли советом). |
Мне понятен принцип работы скрипта, но не понятные некоторые моменты.
Что мне нужно я уже давно определился. Можно ли эту тему переместить в раздел "Работа"? |
А не проще ли будет малёхо поизвращяться с CSS? Или это малёхо не по теме форума? =)
|
5 WMZ
ICQ в моем профайле, если устраивает Treekci, а как вы подразумеваете извращатся с CSS-ом, минуя JS? рсскажите, сэкономьте ТС-у 5 баксов |
Не, я имею ввиду, что часто всё советуют чисто на яве, а я бы еще и CSS приплёл 0 :-)
Ну, вопрос-то изначальный, если я понял, базируется на том, что один текст заменяется другим. Я бы написал кучку DIVов, один на другой. При onclick один прячется, другой появляется... |
Treekci,
пощелкайте по крассным ссылкам в странице указаной ТС-ом. на каждую из них открывается-скрывыается свой блок. ТС-у же надо, чтобы при открытии блока, скрывался другой |
А, спасибо =)
Так так же просто =) При нажатии скрываем все блоки, и потом открываем нужный %) |
Treekci,
просто.именно. |
Так вот, с чего и начали :D
Пару раз на форуме видел, что советуют длинные Java-скрипты, а в то же время можно было бы использовать пару вещей из CSS, и получилось бы короче... Я предполагаю, что я могу быть кривым =) |
Gvozd за 2 строчки 5вмз хочешь. Жадный ты человек. =) Успехов!!!
|
для меня это пара строчек, и пять минут сидение в текстовом редакторе.
а вот ты потратил два дня на попытку сделать(честно не понимаю как на это можно было потратить дуже не зная языка двое суток.с учетом что у вас етсь интернет) и еще два потратите в таком ключе. неужели два дня вашего потраченного времени не стоят 5WMZ? вам конечно видней, но полагаю что они стоят гораздо большего. лично я готов заплатить, если я четко осознаю, что потрачу больше времени впустую, чем смогу заработать за это время чем-то что у меня лучше получается.если конечно, мне нужен результат, а не знания.знания они бесценны, и в таком случае я предпочитаю тратить свое время(а при необходимости и деньги). назови цену своих двух своих рабочих дней проведенных с толком, и я сделаю тебе скрипт за эту цену. если они стоят 0WMZ, я сделаю за бесплатно. |
Цитата:
З.Ы. Это не применительно к данному скрипту. |
2 дня, вовсе не значит, что я просидел 48 часов за скриптом. Это было 30 минут "вчера и сегодня". На форум я пришёл с мыслью, что 2 строчки люди напишут за 5 минут безвозмездно, но видимо я заблуждался.
5вмз я бы врядли даже за весь скрипт заплатил, а цену за 2 строчки я даже и обсуждать не хочу. Неужели для вас даже 2 страницы постов, проще чем 2 строчки кода? (не надо ссылаться на подсказки, я не программирую на JS, по крайней мере пока). Я же не что-то огромное попросил. |
Kolyaj,
именно так. Cylos, если вы считаете, что я сижу тут только для того чтобы ограбить вас на 5WMZ(смешные по сути деньги которых мне хватит один раз попить пива культурно), то вы ошибаетесь. я здесь прежде всего помагаю людям решить относительно интересные вопросы.под решать прежде всего подразумевается описание алгоритма,и снабжение всем необходимым материалом по теме. а не для того чтобы писать им код, который я был способен писал после первых двух дней сумбурного изучения JS-а, никого не спрашивая |
Цитата:
если помогать всем, кому надо написать две строчки, то это будет слишком что же до количества постов, то можете считать, что я троль, а вы моя "еда".правда я не троль, ибо троль никогда в этом не признается |
Не бюро так не бюро. Значит найду не бюро, но все же место где мне помогут.
|
Народ что-то везде пассивный какой-то, решил попробовать написать сам.
Вот что вышло. Только скрипт вобще перестал работать, не показывает не скрывает! <script type="text/javascript"> function showHideAnswer() { var numericID = this.id.replace(/[^\d]/g,''); var obj = document.getElementById('a' + numericID); if(obj.style.display=='block'){ obj.style.display='none'; }else{ per.style.display='none' obj.style.display='block'; var per = document.getElementById('a' + numericID); } } function initShowHideContent() { var divs = document.getElementsByTagName('DIV'); for(var no=0;no<divs.length;no++){ if(divs[no].className=='question'){ divs[no].onclick = showHideAnswer; } } } window.onload = initShowHideContent; </script> |
ну, наконец-то я дождался от тебя еще олной попытки сделать самому.:)
Молодец! теперь, показываю как это надо чтобы заработало: Код:
window - глобальный объект, видимый везде. его свойства и являются глобальными переменными, также видимые везде. правда имена переменных могут замещатся локальной областью видимости, но это отдельная тема обратившись к глобальной переменной, через window.per не будет выпадать ошибка, даже если переменная еще не создана. а вот, без window, скрипт может упасть в случае отстутствия этой переменной в какой-либо области видимости. кроме как для проверки, window.per здесь применять необязательно. главное не напиши var, как ты написал. это создает локальную область видимости |
Я так понял скрипт не работал, из-за "пустого" per.style.display ?
|
1)несуществующий per.style.display, и непроверенный
2)неправильное назначение области видимости.если использовать var, то переменная принадлежит только локальной области видимости, и после завершения функции ее значение в данном случае теряется. без var переменная назначается глобальной области видимости |
Понятно. Спасибо за помощь!
|
пожалуйста.
я рад, что вы все-таки сделали попытку самостоятельного решения задачи |
Часовой пояс GMT +3, время: 21:47. |