Сейчас у меня такая задача.
В цикле крутятся даты с параметром $i,события с одинаковой датой заносятся каждый в свой блок по дате.И есть кнопки к этим блокам.Как их связать?Нужно открывать/закрывать по кнопке один блок с определенной датой, блоки должны сменять друг друга (Привер блоков на картинке).
Есть код, обрабатывающий кнопки:
Код Javascript
[JS]<script>
var toggle = function() {
var currentDiv = null;
function open(divElement) {
divElement.style.display = "block";
currentDiv = divElement;
}
function close(divElement) {
divElement.style.display = "none";
currentDiv = null;
}
return function(divID) {
// Ïîëó÷àåì ýëåìåíò èç DOM
var divElement = document.getElementById(divID);
if (divElement) {
if (divElement === currentDiv) {
close(currentDiv);
} else if(currentDiv != null) {
close(currentDiv);
open(divElement);
} else open(divElement);
}
}
}();
</script>
[/JS]
Есть кнопки:
if ($i == 1)
{
echo '<tr ><TD width="39" height="39" nowrap align="center" valign="middle">';
?>
<A href="javascript://" onClick="toggle('cont1');return false;" style="text-decoration:none"><div class="data1"><br><? echo $day_now.'.'; echo $month_now; ?></div></a>
<?
echo '</TD></tr>';
}
else
{
if ($day_name == 0 or $day_name == 6){
echo '<tr ><TD width="39" height="39" nowrap align="center" valign="middle">';
?>
<A href="javascript://" onClick="toggle('<? echo $day_sel?>');return false;" style="text-decoration:none"><div class="data1"><br><? echo $day_now.'.'; echo $month_now; ?></div></a>
<?
echo '</TD></tr>';
}
else
{
echo '<tr ><TD width="39" height="39" nowrap align="center" valign="middle">';
?>
<A href="javascript://" onClick="toggle('<? echo $day_sel?>');return false;" style="text-decoration:none"><div class="data1"><br><? echo $day_now.'.'; echo $month_now; ?></div></a>
<?
echo '</TD></tr>';
}
}
Значит кнопки вроде работают.Но есть несколько проблем:
1. Один блок я сделала видимым.И когда жму по другим кнопкам, он не закрывается.Ну закрывается только под своей кнопкой.А блоки должны меняться.С остальными кнопками нормально, только первая.Возможно потому,что вынесла ее в отдельный блок.Но как тогда задать ей display:block.
2. Под одной датой может быть несколько записей.Но везде открывается только одна.Вот.Почему?