• 25.04.2018, 03:42:49 *
  • Добро пожаловать, Гость
Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Внимание!
Открыто голосование Отсеивание поисковых систем, выскажите своё мнение о том, какие поисковые системы нужно оставить в сборке.

Ваше мнение может повлиять на ход развития.

collapse
* Голосование
  • Нравится ли Вам Opera AC?
  • Dot Конечно, она просто супер!
  • 1597 (77%)
  • Dot В целом да, но много лишнего..
  • 366 (17%)
  • Dot Для ознакомительных целей
  • 64 (3%)
  • Dot Нет
  • 24 (1%)
  • Dot А что это такое?
  • 20 (0%)
  • Проголосовало пользователей: 2025
  • Смотреть тему

Реклама:

Автор Тема: Ссылка для скрытого текста  (Прочитано 12050 раз)

0 Пользователей и 1 Гость просматривают эту тему.

CreatoR

  • AC Team
  • Админ
  • *
  • Репутация: 46
  • Оффлайн Оффлайн
  • Пол: Мужской
  • Сообщений: 3109
  • CreatoR - Это не Ник, CreatoR - Это стиль Жизни!
    • WWW
Имеется страничка с JavaScript'ом, который позволяет раскрывать/прятать кусок текста:

<html>
<body>
<font color="#0000ff">
<u><b id=Out2 class=Outline style="cursor: hand;" title="Show Hidden Text">Show Hidden Text</b></u><br>
</font>

<p>Some shown text</p>

<div id=Out2details style="display:None; position:relative; left:12;">
<br>
<font color="#808080">Text text Text text Text text Text text Text text (div style change)</font>
</div>

<script language="JavaScript">
function clicknrun()
{
srcElement = window.event.srcElement;

if (srcElement.className == "Outline")

{
targetId = srcElement.id + "details";
targetElement = document.all(targetId);

if (targetElement.style.display == "none")

{
targetElement.style.display = "";
}

else

{
targetElement.style.display = "none";
}

}
}
document.onclick = clicknrun;
</script>
</body>
</html>

Всё работает отлично. Но хотелось иметь возможность делать следующее:

* Менять текст после показа, к примеру если текст отображён, то вместо «Show Hidden Text» должно быть «Hide shown text» (как в самой ссылке, так и в подсказке).
* Кстати о подсказаках, возможно ли чтобы вместо «Заголовок: текст подсказки» было просто «текст подсказки», т.е без «Заголовок: »?
* Прятать текст «Some shown text», который отображается перед скрытым текстом. Т.е нужно после нажатия на «Show Hidden Text» спрятать «Some shown text» (и естественно отобразить скрытый текст) :)
Записан
Читаем FAQ по OAC! и Список изменении OAC перед тем как задать вопрос.



P.S
«Не оказываю техподдержку через ПМ/ICQ, и по электронной почте - для этого есть форум.»

Lex1

Re: Ссылка для скрытого текста
« Ответ #1, : 21.04.2008, 11:57:42 »
Цитировать
Всё работает отлично
Хм.. В IE и Opera.
1), 3) Например так
<html>
<body>
<font color="#0000ff">
<u><b id=Out2 class=Outline style="cursor: hand;" title="Show Hidden Text">Show Hidden Text</b></u><br>
</font>

<p id="Some">Some shown text</p>

<div id=Out2details style="display:None; position:relative; left:12;">
<br>
<font color="#808080">Text text Text text Text text Text text Text text (div style change)</font>
</div>

<script language="JavaScript">
function clicknrun()
{
var desc = document.getElementById('Out2');
var some = document.getElementById('Some');
srcElement = window.event.srcElement;

if (srcElement.className == "Outline")

{
targetId = srcElement.id + "details";
targetElement = document.all(targetId);

if (targetElement.style.display == "none")

{
targetElement.style.display = "";
some.style.display = "none";
desc.innerText='Hide shown text';
}

else

{
targetElement.style.display = "none";
some.style.display = "";
desc.innerText='Show Hidden Text';
}

}
}
document.onclick = clicknrun;
</script>
</body>
</html>
2) Выкл/вкл панель состояния.
Записан

CreatoR

  • AC Team
  • Админ
  • *

  • Автор темы
  • Репутация: 46
  • Оффлайн Оффлайн
  • Пол: Мужской
  • Сообщений: 3109
  • CreatoR - Это не Ник, CreatoR - Это стиль Жизни!
    • WWW
Re: Ссылка для скрытого текста
« Ответ #2, : 21.04.2008, 16:07:47 »
Lex1 12:57:42
Цитировать
1), 3) Например так
Спасибо. А поменять подсказку (title) можно таким же образом?
И ещё, хотелось бы в самом скрипте получать значения для текста ссылки, чтобы можно было использовать этот скрипт с разными ссылками и текстом.. т.е к примеру задавать свойства так:

<b id=Out2 class=Outline style="cursor: hand;" onhidetext="Show Hidden Text" onshowtext="Hide Shown Text">Show Hidden Text</b>
Такое возможно? Или придётся для каждой ссылки отдельный скрипт делать?

Цитировать
2) Выкл/вкл панель состояния.
Хм, не уверен что понимаю, отключение панели состояния не убирает «Заголовок:». А даже если бы и убирал, мне ведь программно нужно это убрать :), т.е в коде задать чтобы не отображался этот преффикс...
Записан
Читаем FAQ по OAC! и Список изменении OAC перед тем как задать вопрос.



P.S
«Не оказываю техподдержку через ПМ/ICQ, и по электронной почте - для этого есть форум.»

Lex1

Re: Ссылка для скрытого текста
« Ответ #3, : 22.04.2008, 20:56:29 »
CreatoR 17:07:47
Цитировать
А поменять подсказку (title) можно таким же образом?
targetElement.setAttribute('title', '');

Цитировать
отключение панели состояния не убирает «Заголовок:».
После включения, «Заголовок:» у меня убирается. В любом случае это особенности браузера.

Цитировать
для каждой ссылки отдельный скрипт делать?
Его вообще нужно переделывать. Он не совсем для этой цели.
Записан

CreatoR

  • AC Team
  • Админ
  • *

  • Автор темы
  • Репутация: 46
  • Оффлайн Оффлайн
  • Пол: Мужской
  • Сообщений: 3109
  • CreatoR - Это не Ник, CreatoR - Это стиль Жизни!
    • WWW
Re: Ссылка для скрытого текста
« Ответ #4, : 22.04.2008, 23:28:40 »
Lex1 21:56:29
Цитировать
targetElement.setAttribute('title', '');
Что то не срабатывает ???, я пытался в каждом условии это добавить, заголовок не меняется, как правильно использовать?

Цитировать
После включения, «Заголовок:» у меня убирается
Точно! Я теперь хотел бы вернуть показ ссылки в подсказке, что то не припоминаю где это включается, даже после перезапуска оперы ссылки нет в подсказке... а вообще это как бы баг оперы получается?
Записан
Читаем FAQ по OAC! и Список изменении OAC перед тем как задать вопрос.



P.S
«Не оказываю техподдержку через ПМ/ICQ, и по электронной почте - для этого есть форум.»

Lex1

Re: Ссылка для скрытого текста
« Ответ #5, : 23.04.2008, 10:43:11 »
<html>
<head>
<script type="text/javascript">
function show_hide(show, hide, t){
var s = document.getElementById(show);
var h = document.getElementById(hide);

if(h.style.display == 'none'){
h.style.display = '';
s.style.display = 'none';
t.innerText = 'Hide shown text';
t.title = 'Hide text';

}
else{
h.style.display = 'none';
s.style.display = '';
t.innerText = 'Show Hidden Text';
t.title = 'Show Hidden Text';
}
};
</script>
<head>
<body>
<font color="#0000ff">
<u><b id=Out2 class=Outline style="cursor: hand;" title="Show Hidden Text" onclick="show_hide('Some','Out2details', this)">Show Hidden Text</b></u><br>
</font>

<p id="Some">Some shown text</p>

<div id=Out2details style="display:none; position:relative; left:12;">
<br>
<font color="#808080">Text text Text text Text text Text text Text text (div style change)</font>
</div>
</body>
</html>
Комментарии нужны?

Цитировать
Я теперь хотел бы вернуть показ ссылки в подсказке
Либо отключить панель статуса, либо opera:config#UserPrefs|StatusBarAlignment = 0

Цитировать
баг оперы получается?
Багофича.
« Последнее редактирование: 23.04.2008, 10:57:06 от Lex1 »
Записан

CreatoR

  • AC Team
  • Админ
  • *

  • Автор темы
  • Репутация: 46
  • Оффлайн Оффлайн
  • Пол: Мужской
  • Сообщений: 3109
  • CreatoR - Это не Ник, CreatoR - Это стиль Жизни!
    • WWW
Re: Ссылка для скрытого текста
« Ответ #6, : 23.04.2008, 11:37:19 »
Lex1 11:43:11
Цитировать
Комментарии нужны?
Нет :), всё идеально, спасибо!

Цитировать
Либо отключить панель статуса, либо opera:config#UserPrefs|StatusBarAlignment = 0
Отключить не могу, слишком важная часть панелей у меня там :) а вот StatusBarAlignment то что нужно, спасибо.
Записан
Читаем FAQ по OAC! и Список изменении OAC перед тем как задать вопрос.



P.S
«Не оказываю техподдержку через ПМ/ICQ, и по электронной почте - для этого есть форум.»
 




Реклама:

Счетчик

Страница сгенерирована за 0.055 секунд. Запросов: 36.