Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: php, нажатие на ссылку и срабатывание onclick
Форумы портала PHP.SU » » HTTP и PHP » php, нажатие на ссылку и срабатывание onclick

Страниц (1): [1]
 

1. Алексей Постика - 21 Августа, 2015 - 16:02:27 - перейти к сообщению
ребята такая фигня есть ссылки которые написаны таким образом:
<ul>
<li ><a href="#"><<</a></li>
<?
for($i=1;$i<=$del;$i++)
{
echo "<li ><a href='#' onclick='openbox('".$i."'); return false'>".$i."</a></li>";
echo"<script type = 'text/javasript'> function openbox(id){
display = document.getElementById(id).style.display;

if(display=='none'){
document.getElementById(id).style.display='block';
}else{
document.getElementById(id).style.display='none';
}
} </script> ";
}
?>
<li ><a href="#">>></a></li>
суть в том что при нажатии на ссылку onclick не работает и вопрос у меня такой почему? и как правильно сделать что бы начал работать?
2. DeepVarvar - 21 Августа, 2015 - 16:11:35 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
  1. <ul>
  2.     <li><a href="#">&laquo;</a></li>
  3.     <?php for ($i = 1; $i <= $del; $i++) { ?>
  4.         <li>
  5.             <a href="#"
  6.                onclick="openbox('<?=$i?>'); return false;"><?=$i?></a>
  7.         </li>
  8.     <?php } ?>
  9.     <li><a href="#">&raquo;</a></li>
  10. </ul>
  11. <script type="text/javasript">
  12.    function openbox(id)
  13.    {
  14.        var elem = document.getElementById(id);
  15.        if (elem) {
  16.            elem.style.display = elem.style.display == 'none' ? 'block' : 'none';
  17.        }
  18.    }
  19. </script>

Чуешь разницу в оформлении кода и осознании того что ты пишешь?
3. Алексей Постика - 21 Августа, 2015 - 16:26:35 - перейти к сообщению
спасибо большое понял
(Добавление)
DeepVarvar пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <ul>
  2.     <li><a href="#">&laquo;</a></li>
  3.     <?php for ($i = 1; $i <= $del; $i++) { ?>
  4.         <li>
  5.             <a href="#"
  6.                onclick="openbox('<?=$i?>'); return false;"><?=$i?></a>
  7.         </li>
  8.     <?php } ?>
  9.     <li><a href="#">&raquo;</a></li>
  10. </ul>
  11. <script type="text/javasript">
  12.    function openbox(id)
  13.    {
  14.        var elem = document.getElementById(id);
  15.        if (elem) {
  16.            elem.style.display = elem.style.display == 'none' ? 'block' : 'none';
  17.        }
  18.    }
  19. </script>

Чуешь разницу в оформлении кода и осознании того что ты пишешь?

хотел еще спросить, как сделать так, что бы предыдущий блок становился невидимым?
4. DeepVarvar - 21 Августа, 2015 - 17:14:22 - перейти к сообщению
Выбрать всех заранее, пройтись циклом по каждому, и если это не тот который целевой в данный момент -- спрятать их.
5. Алексей Постика - 21 Августа, 2015 - 17:20:38 - перейти к сообщению
DeepVarvar пишет:
Выбрать всех заранее, пройтись циклом по каждому, и если это не тот который целевой в данный момент -- спрятать их.

ты имеешь ввиду взять в циклы все элементы которые должны быть невидимые и по клику определять активный ?
6. DeepVarvar - 21 Августа, 2015 - 17:24:03 - перейти к сообщению
Нет, я имею ввиду еще до какого-либо клика определить все целевые элементы и их триггеры, а потом при нажатии на триггер оббегать все элементы и если этот элемент не отностится к этому триггеру тогда элемент скрыть, а если относится, то уже тогглить его.
7. Алексей Постика - 21 Августа, 2015 - 17:30:10 - перейти к сообщению
[quote=DeepVarvar]Нет, я имею ввиду еще до какого-либо клика определить все целевые элементы и их триггеры, а потом при нажатии на триггер оббегать все элементы и если этот элемент не отностится к этому триггеру тогда элемент скрыть, а если относится, то уже тогглить его.[/qгщеу]

смотри у меня есть загрузка данных на сайт из БД, где я формирую дивф с данными:
for($j=1;$j<=$del;$j++)
{
echo "<div id='".$j."' style='display: none;'>";
for($i=1;$i<4;$i++)
{

$alsql=("select * from kal where (ID = '{$i}')");
echo $row["datetime"]."<br/>";
$row=mysql_fetch_array($result);

}
echo "</div>";
echo "<br/>";
}

потом я хочу сделать так что бы при нажатии на ссылку причем не обязательно в последовательности у меня появлялся тот номер дива который написан на ссылке, а предыдущий исчезал. Ну и как раз предыдущий код наполовину осуществил эту задачу. Как ее реализовать так как ты говоришь с триггерами ?
8. DeepVarvar - 21 Августа, 2015 - 17:40:01 - перейти к сообщению
триггер -- это твоя ссылка

 

Powered by ExBB FM 1.0 RC1