所以基本上,我有一系列的内容,点击后,颜色框会出现。
echo '<div id=scrollimgforplaces>';
while ($row = mysql_fetch_array($result)) {
echo "<a class='ajax' href='image_color_box.php?id=".$row['id']."' title='Utourpia'></a>";
echo '<a class="ajax" href="login_for_color_box.php" title="Login"></a>';
}
echo '</div>';
对于上述静态内容,我使用以下代码调用colorbox:
$(".ajax").colorbox();
接下来,我将生成一些与此类似的动态内容,以使彩盒工作,我将下面的代码放在我的ajax中:
$.ajax({
type: "POST",
url: "data.php",
data:data,
success: function(res) {
var $html = $(res);
$html.find('a.ajaxdynamic').colorbox();
$('#scrollimgforplaces').append($html);
}
});
我的动态内容如下:
while ($row = mysql_fetch_array($result)) {
echo "<a class='ajaxdynamic' href='image_color_box.php?id=".$row['id']."' title='Utourpia'></a>";
echo '<a class="ajaxdynamic" href="login_for_color_box.php" title="Login"></a>';
}
但是,当我运行上述代码时,我会做一些操作,即向下滚动以便显示动态内容。当我点击颜色框时,它会显示两次,而不是一次。知道发生了什么吗?
答案 0 :(得分:0)
我认为问题出在$(".ajax").colorbox();
上,它使用 ajax 类将colorbox应用于所有元素。
您应尝试使用$("#element1").colorbox();
注意:我没有测试我的解决方案