我想达到什么 我有一些我想展示的作品。所以,我有这些的缩略图。当访问者点击缩略图时,我想要一个 div(称为 slickbox)打开并显示标题、描述和关于所点击作品的滑块。
我已经完成了什么以及如何 从数据库中获取我的工作数据。这是我的作品清单的一小部分:
索引.php
<?php
$retour_messages = mysql_query('SELECT 2K13_works.*, 2K13_categories.nom AS nomCAT FROM 2K13_works, 2K13_categories WHERE 2K13_works.cat_id = 2K13_categories.cat_id ORDER BY 2K13_works.record_date DESC') or die(mysql_error());//requete sql pour récupérer les works de la page
?>
<ul id = "creations" class = "step">
<?php
while($donnees_messages=mysql_fetch_assoc($retour_messages)){
echo '<li class = "step '.$donnees_messages['nomCAT'].'" id="'.$donnees_messages['work_id'].'">
<div class = "item"><a href = "#"><img src = "'.$donnees_messages['thumbLink'].'" alt = "'.$donnees_messages['titre'].'" title = "" width = "226" height = "147"/></a>
<div class = "caption">
<h3>'.$donnees_messages['titre'].'</h3>
<p>'.html_entity_decode($donnees_messages['resume'],ENT_QUOTES,'UTF-8').'</p>
<p id = "desc" class = "hidden">'.html_entity_decode($donnees_messages['description'],ENT_QUOTES,'UTF-8').'</p>
<!--<p id = "idw" class = "hidden">'.$donnees_messages['work_id'].'</p>-->
</div>
</div>
</li>';
}
?>
</ul>
如您所见,我有一个 ul 标签,其中包含每个作品的 li 标签。每个 li 标签获取数据库中作品的 id,每个 li 包含 h3 标签和 p 标签,其中包含我想在 slickbox 中显示的文本(对于图像,我稍后会看到)。
现在,我的 slickbox 的 JavaScript 代码出现和消失:
front_functions.js
//_____________SLICKBOX__________________________________
$('#slickbox').hide();
$("#creations li").click(function(e) {
// shows the slickbox on clicking the noted link
$titre = $(e.target).children("h3").text();
$bla = $(e.target).children("#hidden").text();
$("#description").children("h1").text($titre) ;
$("#description").children("p").text($bla);
$('#slickbox').slideDown();
e.preventDefault();
$(e.target).empty();
//return false;
});
此代码不起作用,因为我的 slickbox 是在工作之前加载的。这就是为什么我需要 Ajax 和异步发送和执行请求的方式。
我在这里阅读了这个示例代码:这很有帮助。但是,我有一个问题:我正在使用 jQuery,我想使用$.ajax()
. 而且我真的不明白如何做到这一点。
我必须设置一个 XHMLHTTPRequest 对象吗?我在哪里可以编写 Ajax 调用?我可以调用函数而不是 URL 吗?
喜欢做(我不知道):
$(#creations li).click(function(e){
$.ajax(){
function : "displayContent(id,desc,title)",
}
}
function displayContent(id,desc,title){
$(#slickBox).children("h1").innerHTML(title);
$(#slickBox).children("p").innerHTML(desc);
$(#slickBox).show();
}
我什至不知道我是否应该使用 JSON(但是,因为我的数据已经存储,我只想显示它们,我想我不需要 Json)。
请给我您的知情意见和您的资深建议。