Jump to content
  • 0

Раскрытие текста (что то типа спойлера)


a1rborn
 Share

Question

Заранее извиняюсь за тупое название темы) просто без понятия как это правильно называется

Проблема такая:

На фан сайте музыкального исполнителя, есть страница тексты песен. Хочу реализовать следующую вещь: есть строки

ххх

ууу

еее

это названия песен, что бы при нажатии на них, развертывалось окно, желательно под названием, и там был текст песни

Это что то типа спойлера на форумах или, к примеру, как разворачивается текст песни в вконтакте

Линками куда-то и новыми страницами категорически нельзя пользоваться.

Буду рад за любую помощь!

Если не ясно объяснил, скажите, попробую иначе)

Link to comment
Share on other sites

17 answers to this question

Recommended Posts

  • 0

Спасибо за предложенный вариант, буду пробовать

Если у кого то есть еще мысли или , возможно, линки где рассказывается как реализовать подобные вещи - буду благодарен)

Link to comment
Share on other sites

  • 0

Так же все

Может Вам целиком код страницы дать?

http://jsfiddle.net/JPn8b/5/ тут вроде даже срабатывает скрипт, но все равно переадресует на другую страницу

a href нужно как-то изменить наверное?

у вас на странице сыпет ошибки в консоль потому другие скрипты и не работают. проверяйте ваш javascript код существующий.

Плюс у вас уже подключена jquery к странице значит можно сделать так: http://jsfiddle.net/wwt999/uPRg9/

Link to comment
Share on other sites

  • 0

Хм, все сделал вроде правильно, но

в хроме, при вызове консоли js под строкой

document.getElementById("link").onclick = function(){

пишет ошибку

uncaught typeerror cannot set property 'onclick' of null

в js пока не очень шарю, не могли бы подсказать куда двигаться?

или в чем собственно проблема?

PS да и скрипт потому не работает

PSS Проверил весь код (html css js) на jsfiddle

Там все работает, то есть панель раскрывается

У меня же на локальном сервере нет

Edited by a1rborn
Link to comment
Share on other sites

  • 0

Хм, все сделал вроде правильно, но

в хроме, при вызове консоли js под строкой

document.getElementById("link").onclick = function(){

пишет ошибку

uncaught typeerror cannot set property 'onclick' of null

в js пока не очень шарю, не могли бы подсказать куда двигаться?

или в чем собственно проблема?

PS да и скрипт потому не работает

PSS Проверил весь код (html css js) на jsfiddle

Там все работает, то есть панель раскрывается

У меня же на локальном сервере нет

http://jsfiddle.net/dJdUA/

Link to comment
Share on other sites

  • 0

Хм, все сделал вроде правильно, но

в хроме, при вызове консоли js под строкой

document.getElementById("link").onclick = function(){

пишет ошибку

uncaught typeerror cannot set property 'onclick' of null

в js пока не очень шарю, не могли бы подсказать куда двигаться?

или в чем собственно проблема?

PS да и скрипт потому не работает

PSS Проверил весь код (html css js) на jsfiddle

Там все работает, то есть панель раскрывается

У меня же на локальном сервере нет

http://jsfiddle.net/dJdUA/

Нет, моя проблема не решается добавлением

window.onload = function(){...}

Хотя решил я ее просто подставив в сам html скрипт, а линк на js файл удалил.

Но это не то что мне нужно

Т.к. текста в будет достаточно много, мне нужно реализовать именно link на js файл, а не вставлять сам скрипт в html

Но так у меня не работает

линк на js указан правильно, в пути проблем быть не может

т.к. заменив содержимое js файла на, к примеру

alert(1);

скрипт выполняется

где бы он не находился, будь то в head или в body.

а вот предложенный Вами вариант - не работает

В чем может быть проблема?

Проблему решил

Все как всегда оказалось намного проще, нежели я мог подумать

Просто после последней закрывающей скобки } у меня была пустая строка

Видимо из за этого скрипт не выполнялся.

Теперь все нормально, и не имеет разницы стоит он в head или в body

Спасибо еще раз за предложенный вами вариант :rolleyes:

Edited by a1rborn
Link to comment
Share on other sites

  • 0

Появился еще один вопрос

Как уже мною было озвучено выше, я делаю страницу с текстами песен

И таких ячеек с текстом, созданных по средствам скрипта, предложенного пользователем WWT должно быть x>1 штук

Получается мне нужно для каждой песни, создавать отдельный js файл с разными id в html что бы это можно было реализовать

Или есть какой то более простой способ

Извиняюсь за свое незнание, сейчас js только в процессе изучения)

Link to comment
Share on other sites

  • 0
Получается мне нужно для каждой песни, создавать отдельный js файл с разными id в html что бы это можно было реализовать

Вот мой вариант: http://jsfiddle.net/mj7fM/ В нем событие вешается на общий блок-обёртку с ид music и с помощью делегирования определяется элемент, на котором сработало событие: если это заголовок - след. блок получает атрибут(или свойство...) display block. Кол-во заголовков и песен может быть неограниченно большим, 1 обработчик

Edited by moron
Link to comment
Share on other sites

  • 0

Очень понравился именно ваш способ создания спойлера

Но у меня он не выполняется, после первой строки js выдает ошибку:

uncaught typeerror cannot set property 'onclick' of null

С чем это может быть связано?

Решил проблему подставив

window.onload = function(){}

Извиняюсь :unsure:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy