嘿,真的很难为我的问题定义一个确切的标题。
我在 2008 年到 2012 年之间使用 jQuery Accordions。这些手风琴里面是带有超链接的日期。如果您按下任何链接,将跟随一个 ajax get 调用并将结果附加到 div 容器中。
如果我单击下一个链接,前一个链接会淡出,新的 div 会淡入。
如果我在 2012 年和 2011 年之间进行更改,一切都会像魅力一样发挥作用。然后我在 2012 年打开的最后一个 div 容器不会淡出。
这是我的 JS 代码:
var tempDiv = '';
//Auswahl Jahr zum Anzeigen von Presseartikeln
$("#select_media").live("click", function() {
var currentPos = $(this).data("pos");
var currentDiv = $(this).data("div");
alert(tempDiv);
$("#" + tempDiv).fadeOut();
tempDiv = currentDiv;
$.ajax({
url: 'edit.php?action=media_select&pos=' + currentPos,
type: 'GET',
dataType: 'html',
success: function (select) {
$("#" + currentDiv).html(select);
$('#myGallery').galleryView();
$("#" + currentDiv).fadeIn();
}
});
return false;
});
media_select 的源代码并不重要,您只需要知道有一个完整的图像作为响应的无序列表。
这是我的手风琴代码:
$date = getdate();
$year = $date['year'];
for ($i=$year; $i>=2008; $i--) {
$getID = array();
$getDate = array();
$getTitle = array();
$string = array();
echo '<h3><a href="#" class="media_year_click">'.$i.'</a></h3>
<div>';
$sql = "SELECT
ID,
DATE_FORMAT(Date, '%d.%m.%Y') AS Date_media,
Title
FROM
Media
WHERE
YEAR(Date) = '".mysqli_real_escape_string($db, $i)."'
ORDER BY
Date ASC
";
if (!$result = $db->query($sql)) {
echo 'Datenbankfehler\n';
echo $db->error;
}
$j = 0;
while ($row = $result->fetch_assoc()) {
$getID[$j] = $row['ID'];
$getDate[$j] = $row['Date_media'];
$getTitle[$j] = $row['Title'];
$j++;
}
$result->close();
//Ausgabe
if (count($getID) == '0') {
echo 'Kein Eintrag vorhanden';
} else {
echo '<ul id="media_no_point">';
for($k = 0; $k < count($getID); $k++) {
$unique_id = '';
$string = explode(".", $getDate[$k]);
//Fix wenn Datum Tag 0 am Anfang enthält (wird nicht korrekt an JS übergeben)
//05032012 = 5032012 in JS
if ($string[0] < 10) {
$string[0] = mb_substr($string[0], 1);
$unique_id .= $string[0];
} else $unique_id .= $string[0];
$unique_id .= $string[1];
$unique_id .= $string[2];
echo '<li><a href="#" data-pos="'.$getID[$k].'" data-div="'.$unique_id.'" id="select_media">'.$getDate[$k].' - '.$getTitle[$k].'</a>
<div id="'.$unique_id.'" class="pictures"></div></li>';
}
echo '</ul>';
}
echo '</div>';
}
如果您不明白我的意思,请访问我的网站并单击 2012 年的一个链接,然后转到 2011 单击该链接并返回 2012。应该没有图片库。插入 alert() 以显示哪个 div id 设置为 temp 并显示正确的 id。但是淡出在关闭的手风琴选项卡中不起作用。
编辑:所以似乎我无法对关闭的 Accordion 选项卡中的内容进行任何更改