Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.08.2012, 17:45
Новичок на форуме
Отправить личное сообщение для Raptor2013 Посмотреть профиль Найти все сообщения от Raptor2013
 
Регистрация: 05.08.2012
Сообщений: 9

Проблема в верстке a:hover
Привет всем. Возникает проблема с псевдоклассом hover.
У меня есть ссылки, они служат как переключатели, т.е. они пустые. Имеют такой вид
<li onClick="inf(0)"><a href="javascript:DoIt();">Текст</a></li>


В стилях на него прописал определенный hover. Но он не действует так-как я понимаю, что ссылка пустая. Возможно ли сделать так, чтобы hover работал и при пустой ссылке. Нажал на нее и пока она активна, на ней действует определенные стили.
Ответить с цитированием
  #2 (permalink)  
Старый 05.08.2012, 18:12
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<a href="javascript:DoIt();">
замените на

<a href="#" onclick="DoIt();return false">
Ответить с цитированием
  #3 (permalink)  
Старый 05.08.2012, 18:44
Новичок на форуме
Отправить личное сообщение для Raptor2013 Посмотреть профиль Найти все сообщения от Raptor2013
 
Регистрация: 05.08.2012
Сообщений: 9

Сообщение от Deff Посмотреть сообщение
<a href="javascript:DoIt();">
замените на

<a href="#" onclick="DoIt();return false">
1) Этот метод не работает
2) Мне не нужно, чтобы в ссылке присутствовал знак # , т.к. все время поднимает экран на верх
Ответить с цитированием
  #4 (permalink)  
Старый 05.08.2012, 19:58
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Raptor2013,
Он не будет поднимать - если ссылку скопируете в виде - что я Вам дал точно ;return false - отменяет реакцию браузера на клик
Сообщение от Raptor2013
1) Этот метод не работает
Выложите минимальный HTML и скрипт - с данным траблом
Ответить с цитированием
  #5 (permalink)  
Старый 07.08.2012, 19:01
Новичок на форуме
Отправить личное сообщение для Raptor2013 Посмотреть профиль Найти все сообщения от Raptor2013
 
Регистрация: 05.08.2012
Сообщений: 9

Сообщение от Deff Посмотреть сообщение
Raptor2013,
Он не будет поднимать - если ссылку скопируете в виде - что я Вам дал точно ;return false - отменяет реакцию браузера на клик

Выложите минимальный HTML и скрипт - с данным траблом
<div class="cont_left">
            	<ul>
<li onClick="inf(0)"><a href="javascript:DoIt();">Текст 1</a></li>
<li onClick="inf(1)"><a href="javascript:DoIt();">Текст 2</a></li>
<li><a href="#" onclick="DoIt();return false">Текст 3</a></li>
<li><a href="#">Текст 4</a></li>
<li><a href="#">Текст 5</a></li>
                </ul>
            </div>


Вот скрипт
<script>
var mas1 = ["inf1.0", "inf1.1", "inf1.2", "inf1.3"];
var mas2 = ["inf2.0", "inf2.1", "inf2.2", "inf2.3"];

function inf(val) {
    document.getElementById("information1").innerHTML = mas1[val];
    document.getElementById("information2").innerHTML = mas2[val];
}
</script>


Этот список ссылок не будут работать как ссылки. Они будут менять текст в определенных полях.

Я сделал как Вы сказали, но все равно у меня поднимается экран на вверх и при этом стили hover не работаю, только во время клика.
Первые 2 варианта не поднимают экран, но на них не срабатывает hover. Только при самом клике. А мне нужно нажал на 1 текст, он поменял стили и держит их пока не нажмешь на другой текст. Ну как показывает какая информация сейчас отображается из списка.

Последний раз редактировалось Raptor2013, 07.08.2012 в 19:04.
Ответить с цитированием
  #6 (permalink)  
Старый 07.08.2012, 19:04
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Raptor2013
Я сделал как Вы сказали, но все равно у меня поднимается экран на вверх
Выложите код

<div style="height:500px;width:100%"></div>

<div class="cont_left">
            	<ul>
<li><a href="#" onclick="DoIt12321();return false">Кривая</a></li>
<li onClick="inf(0)"><a href="javascript:DoIt();">Текст 1</a></li>
<li onClick="inf(1)"><a href="javascript:DoIt();">Текст 2</a></li>
<li><a href="#" onclick="DoIt();return false">Текст 3</a></li>
<li><a href="#" onclick="DoIt();return false">Текст 4</a></li>
<li><a href="#" onclick="DoIt();return false">Текст 5</a></li>
                </ul>
            </div>

<script type="text/javascript">
function DoIt () {
  alert("A");
}
</script>

Cкорее всего Вы не прописали функцию (Первая ссылка спецом сделана с отсутствующей функцией

Последний раз редактировалось Deff, 07.08.2012 в 19:29.
Ответить с цитированием
  #7 (permalink)  
Старый 07.08.2012, 19:25
Новичок на форуме
Отправить личное сообщение для Raptor2013 Посмотреть профиль Найти все сообщения от Raptor2013
 
Регистрация: 05.08.2012
Сообщений: 9

Сообщение от Deff Посмотреть сообщение
Cкорее всего Вы не прописали функцию (Первая ссылка спецом сделана с отстутствующей функцией
Блин я походу туплю. псевдокласс hover это стиль при наведении мыши на ссылку?

Вот пример сайт http://m1gsm.com
Там сверху есть меню, когда на него нажимаешь, внизу кнопки появляется стрелочка, якобы показывает, на какой Вы сейчас странице. Мне нужно также, только, чтобы стили присваивались к тексту ссылки.
Ответить с цитированием
  #8 (permalink)  
Старый 07.08.2012, 20:20
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Raptor2013,
<style type="text/css">
a.active{
  color:red;
}
</style>

<div class="cont_left">
            	<ul>
<li><a href="#" onclick="DoIt(this);return false">Текст 1</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 2</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 3</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 4</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 5</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 6</a></li>
                </ul>
            </div>

<script type="text/javascript">
function DoIt (a) {
  var link = a.parentNode.parentNode.getElementsByTagName('A');

  for(var i=0; i<link.length; i++){
    link[i].removeAttribute('class')
  }
  a.setAttribute('class', 'active')
}
</script>
Ответить с цитированием
  #9 (permalink)  
Старый 07.08.2012, 20:35
Новичок на форуме
Отправить личное сообщение для Raptor2013 Посмотреть профиль Найти все сообщения от Raptor2013
 
Регистрация: 05.08.2012
Сообщений: 9

Сообщение от Deff Посмотреть сообщение
Raptor2013,
<style type="text/css">
a.active{
  color:red;
}
</style>

<div class="cont_left">
            	<ul>
<li><a href="#" onclick="DoIt(this);return false">Текст 1</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 2</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 3</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 4</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 5</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 6</a></li>
                </ul>
            </div>

<script type="text/javascript">
function DoIt (a) {
  var link = a.parentNode.parentNode.getElementsByTagName('A');

  for(var i=0; i<link.length; i++){
    link[i].removeAttribute('class')
  }
  a.setAttribute('class', 'active')
}
</script>

Блин вообще огромнейшее спасибо! Просто супер!
Извините конечно, я Вас что долбаю )
Еще 1 вопросик )))
Все работает, а как сделать, чтобы при открытии страницы, сразу первый из списка уже был активный?
Ответить с цитированием
  #10 (permalink)  
Старый 07.08.2012, 20:41
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<style type="text/css">
a.active{
  color:red;
}
</style>

<div class="cont_left">
            	<ul>
<li><a class="active" href="#" onclick="DoIt(this);return false">Текст 1</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 2</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 3</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 4</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 5</a></li>
<li><a href="#" onclick="DoIt(this);return false">Текст 6</a></li>
                </ul>
            </div>

<script type="text/javascript">
function DoIt (a) {
  var link = a.parentNode.parentNode.getElementsByTagName('A');

  for(var i=0; i<link.length; i++){
    link[i].removeAttribute('class')
  }
  a.setAttribute('class', 'active')
}
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с обработкой ескольких .hover() anocean jQuery 3 15.06.2012 22:43
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
Проблема с CSS COKOJIOB (X)HTML/CSS 5 04.08.2009 14:19
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47