颜色框在ajax生成的内容中打开超过1次

时间:2013-07-22 04:57:25

标签: jquery ajax colorbox

所以基本上,我有一系列的内容,点击后,颜色框会出现。

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>';
}

但是,当我运行上述代码时,我会做一些操作,即向下滚动以便显示动态内容。当我点击颜色框时,它会显示两次,而不是一次。知道发生了什么吗?

演示页:http://utourpia.me/php/dreamtrip.php

1 个答案:

答案 0 :(得分:0)

我认为问题出在$(".ajax").colorbox();上,它使用 ajax 类将colorbox应用于所有元素。

您应尝试使用$("#element1").colorbox();

之类的唯一ID

注意:我没有测试我的解决方案