[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Все таже навигация
nugle
Всем привет написал скрипт(только 2 дня с JS и JQ 3наком).
Код навигации
<td width="20%" class="box" align="left" valign="top">


<
img src="../images/title.jpg" width="196" height="37" />
<?php

$sql = "select * from menu";
$result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);


while ($row = mysql_fetch_assoc($result))
{
$sql2 = "select * from menu_section where menu_name = '".mysql_real_escape_string($row['name'])."'";
$result2 = mysql_query($sql2) or die(mysql_error() ."<br/>". $sql2);

echo '<li class = "box li"><a id = "menu" class = "box li a" href = "#" >'.$row['name'].'</a></li><br />
<div id="text" style="display:none">'
;
while ($row2 = mysql_fetch_assoc($result2))
{
echo "<div class='menu_section'><a class='a_menu_section' href='articles.php?menu_section=".$menu_section."'>".$row2['name']."</a></div>";


}
echo '</div>';

}

?>


</td>

Код скрипта
$(document).ready(function(){

$('#menu').toggle(function()
{

$('#text').fadeIn(1000);


},function(){
$('#text').hide(1000);

});

});

Со всеми стилями очень эффектно выглядит, но проблема...Работает только с первым пунктом.Почему не могу понять!Подскажите пожалуйста уважаемы 3натоки!



Спустя 16 минут, 6 секунд (27.01.2011 - 12:18) Snus написал(а):
Потому, что ты по ID обращаешься к элементу! А ID всегда должен быть уникальным. Вот он и нашел тебе первое вхождение и выполнил твою функцию на нем.

Если хочешь прописать функцию на несколько элементов, то обращайся по классу class="box li a"
$(document).ready(function(){

$('.box li a').toggle(function()
{

$(this).find('div').fadeIn(1000);


},function(){
$(this).find('div').hide(1000);

});

});

Спустя 6 минут, 37 секунд (27.01.2011 - 12:25) nugle написал(а):
ниче не открывает

Спустя 14 минут, 59 секунд (27.01.2011 - 12:40) Snus написал(а):
nugle
У тебя классы как-то странно расставлены.
Там где у тебя id="menu" поменяй класс на class = "box li a UNIC"

И я не сразу заметил, что у тебя div за пределами li, меняй код на

$(document).ready(function(){

$('.UNIC').toggle(function(){
$(this).next('div').fadeIn(1000);
},function(){
$(this).next('div').hide(1000);
});

});

Спустя 5 минут, 40 секунд (27.01.2011 - 12:46) nugle написал(а):
там где id = menu на писал
<a id = "menu" class = "box li a UNIC" href = "#" >

так?
И поменял код, если так то тоже не работает

Спустя 1 минута, 7 секунд (27.01.2011 - 12:47) Snus написал(а):
nugle
PS: А чем тебе fadeOut не нравится? Почему ты показываешь скрытые элементы fadeIn'ом, а скрываешь hide'ом?

Спустя 2 минуты, 51 секунда (27.01.2011 - 12:50) nugle написал(а):
потому, что div style disрlay:none

Спустя 1 минута, 5 секунд (27.01.2011 - 12:51) Snus написал(а):
nugle
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<
script type="text/javascript">
$(document).ready(function(){

$('.UNIC').toggle(function(){
$(this).next('div').fadeIn(1000);
},function(){
$(this).next('div').fadeOut(1000);
});

});
</
script>

<?php
for($i = 0; $i < 10; $i++){
echo '<li class="box li a UNIC">test '.$i.'</li>';
echo '<div style="display: none;">test '.$i.'</div>';
}
?>


У меня работает о.О

Спустя 10 минут, 48 секунд (27.01.2011 - 13:02) nugle написал(а):
а у меня нет(
Вот код конечный
$(document).ready(function(){

$('.UNIC').toggle(function(){
$(this).next('div').fadeIn(1000);
},function(){
$(this).next('div').hide(1000);
});

});


<td width="20%" class="box" align="left" valign="top">


<
img src="../images/title.jpg" width="196" height="37" />
<?php

$sql = "select * from menu";
$result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);


while ($row = mysql_fetch_assoc($result))
{
$sql2 = "select * from menu_section where menu_name = '".mysql_real_escape_string($row['name'])."'";
$result2 = mysql_query($sql2) or die(mysql_error() ."<br/>". $sql2);

echo '<li class = "box li"><a id = "menu" class = "box li a UNIC" href = "#" >'.$row['name'].'</a></li><br />
<div class="div_menu" id="text" style="display:none">'
;
while ($row2 = mysql_fetch_assoc($result2))
{
echo "<div class='menu_section'><a class='a_menu_section' href='articles.php?menu_section=".$menu_section."'>".$row2['name']."</a></div>";


}
echo '</div>';

}

?>


</td>

Спустя 15 минут, 50 секунд (27.01.2011 - 13:17) Snus написал(а):
nugle
А зачем ты ссылку в li сделал? По помоему примеру можно было догадаться, что тег a нужно убрать

echo '<li class = "box li UNIC">'.$row['name'].'</li>';


И <br> тег убери после li, div итак с новой строчки выводится

Спустя 7 минут, 5 секунд (27.01.2011 - 13:24) nugle написал(а):
ты мой герой))))))))))))))))))Спасибо большое, теперь от этой прелести гла3 не отведу)+

Спустя 50 минут, 20 секунд (27.01.2011 - 14:15) Snus написал(а):
nugle
Та не за што smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.