Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.06.2013, 13:55
Новичок на форуме
Отправить личное сообщение для ALIEN-XIII Посмотреть профиль Найти все сообщения от ALIEN-XIII
 
Регистрация: 22.06.2013
Сообщений: 2

Выбрать активный элемент меню
Есть вот такой код в header.php:
<!--><script language="JavaScript"
src="http://www.protraffik.ru/wp-content/themes/AskIt/js/jquery.min.js"></script>
<head><script>
jQuery(function(){
$(img2).hover(function(){
$(this).stop().animate({opacity:'1.0'})},
function(){$(this).stop().animate({opacity:'.6'})}
);
});
</script>
<style>
 #img2{opacity:.3;filter:alpha(opacity=30)}
 
</style></head>

<body>

<table cellpadding="0" cellspacing="0" width="800" bgcolor="#202020" height="43" style="margin-left: 0"><br/><br/><br/><br/><br/><br/><br/>
  <tr> 
   <td height="43" valign="top" align="center" style="padding-left: 0"  width="160">
   <a   href="/">
   <img  id="img2" src="btn_home.png" width="160" height="43"></a></td>
   <td height="43" valign="top" align="center" style="padding-left: 0" width="160">
   <a href="/" >
   <img id="img2" src="btn_apps.png" width="160" height="43"></a></td>
   <td height="43" valign="top" align="center" style="padding-left: 0" width="160">
   <a href="/">
   <img  id="img2" src="btn_videos.png" width="160" height="43"></a></td>
   <td height="43" valign="top" align="center" style="padding-left: 0" width="160">
   <a   href="/">
   <img  id="img2" src="btn_services.png" width="160" height="43"></a></td>
   <td height="43" valign="top" align="center" style="padding-left: 0" width="160">
   <a   href="/">
   <img  id="img2" src="btn_about.png" width="160" height="43"></a></td>
</td>
  </tr>
 </table>
 

</body>


Вопрос, наверное частый, но всё же. Как запомнить, какой элемент выбран и сделать ему opacity = 1 до следующего нажатия на одну из кнопок в меню? Видимо параметр нужно передать в div через события onclick гиперссылок. Возникли затруднения.

Вот как выглядит страница.

Помогите, пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 22.06.2013, 14:40
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

вы пробовали хотя бы что-нибудь читать про javascript и html?

нельзя давать одинаковые id разным элементам страницы
у вас нет переменной img2 для $(img2) -- наверно вы имели ввиду '#img2'
почему <style>, <title> и <meta> находятся в <body> а не в <head>?

почитайте хоть что-нибудь и потом приходите
Ответить с цитированием
  #3 (permalink)  
Старый 22.06.2013, 23:14
Новичок на форуме
Отправить личное сообщение для ALIEN-XIII Посмотреть профиль Найти все сообщения от ALIEN-XIII
 
Регистрация: 22.06.2013
Сообщений: 2

Сообщение от mta88 Посмотреть сообщение
вы пробовали хотя бы что-нибудь читать про javascript и html?
нельзя давать одинаковые id разным элементам страницы
у вас нет переменной img2 для $(img2) -- наверно вы имели ввиду '#img2'
Как бы это не было написано, это работает отлично и по этому вопросу на этом этапе нареканий нет (причём если здесь id делать разными код работать не будет).

Сообщение от mta88 Посмотреть сообщение
почему <style>, <title> и <meta> находятся в <body> а не в <head>?
почитайте хоть что-нибудь и потом приходите
По-моему,<body> начинается только в 16 строчке.
Ответить с цитированием
  #4 (permalink)  
Старый 22.06.2013, 23:36
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

Вам правильно написали: id должен быть уникальным. И если напишите так, то так будет работать "отлично":

$('img').hover(function(){

Последний раз редактировалось Faab, 22.06.2013 в 23:43.
Ответить с цитированием
  #5 (permalink)  
Старый 23.06.2013, 00:34
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от mta88
нельзя давать одинаковые id разным элементам страницы
Сообщение от Faab
id должен быть уникальным
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<input id="img2" name="img21">
<input id="img2" name="img22">
<script>
jQuery(function ($) {
	alert(
		$(img2).length + "\n" +
		$(img2).eq(0).attr("name") + "\n" +
		$(img2).eq(1).attr("name")
	);
});
</script>

в FF смотреть в последнюю очередь
Ответить с цитированием
  #6 (permalink)  
Старый 23.06.2013, 00:39
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

удалил код... прогон есть прогон. Созадай страницы к ссылкам, а там просто через PHP выставляй активное положение.

bes, а я на FF только и работаю. У других браузерах баг что ли выходит?
И всё равно, mta88 правильно ему сказал )))) Ты меня этим не смутил!

И почему alert считывает первые две строки, даже если индификатор без ковычек ? Должна же вылетать ошибка - ведь неправильно указан индификатор? Поясни в чём прикол.

Последний раз редактировалось Faab, 23.06.2013 в 03:13.
Ответить с цитированием
  #7 (permalink)  
Старый 23.06.2013, 01:33
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

при твоём способе, например, так
<?php
if (isset($_GET["id"])) $id = $_GET["id"]; else $id = "link1";
?>
<style>
a {
	opacity: 0.5;
}
#<?=$id?> {
	opacity: 1;
}
</style>
<a id="link1" href="/?id=link1">link1</a>
<a id="link2" href="/?id=link2">link2</a>

можешь также привлечь js, чтобы не писать ?id=link.. каждый раз (можно через hash), кроме того стили обычно в отдельном файле
но вообще должны быть серьёзные основания для того, чтобы запрашивать себя же через ссылку

Последний раз редактировалось bes, 23.06.2013 в 01:40.
Ответить с цитированием
  #8 (permalink)  
Старый 23.06.2013, 01:48
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Faab
bes, а я на FF только и работаю. У других браузерах баг что ли выходит?
Сообщение от Faab
И почему alert считывает первые две строки, даже если индификатор без ковычек ? Должна же вылетать ошибка - ведь неправильно указан индификатор? Поясни в чём прикол.
http://learn.javascript.ru/variables
см. в комментах (шучу)
Сообщение от Faab
И всё равно, mta88 правильно ему сказал )))) Ты меня этим не смутил!
бля сидел только и думал как бы тебя смутить
Ответить с цитированием
  #9 (permalink)  
Старый 23.06.2013, 01:48
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

Классное решение.

Но мне интересен факт, почему браузер не ворчит на такой синтакс:
$(img2)


Ведь реально похоже на синтакс переменной.
Ответить с цитированием
  #10 (permalink)  
Старый 23.06.2013, 02:12
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

bes
Код:
http://learn.javascript.ru/variables
Ну правильно, синтакс переменной. Это значит что если вставить не объявленную переменную, то её значение будет автоматически равно значению элемента, id которого идентично имени этой переменной?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбрать элемент Magneto jQuery 3 23.04.2013 14:21
Выбрать элемент у родителя которого сын это элемент по которому кликнули MalikSPB Events/DOM/Window 8 30.12.2012 12:22
не могу выбрать элемент alex2012 AJAX и COMET 2 05.11.2012 02:15
Проблема с аккордионом и меню Tie ExtJS 3 01.09.2011 14:36
Добавить активный элемент Wirty jQuery 5 09.08.2009 16:06