帮助使用jquery图像库


Help with jquery image gallery

我正在为我的网站创建一个投资组合图片库,但我有一些麻烦…当我点击其中一个图标时,第一个图像消失了(这应该发生),但下一个图像不会打开…

下面是我的代码:

$(".portlink").click(function() {
    $(".large-image").addClass("hidden");
    var $alt = $(this).attr("alt");
    $(".", $alt).removeClass("hidden");
})

和我的html/php…

    function portfolio() {
    $sql = "SELECT * FROM db ORDER BY id DESC";
    $res = mysql_query($sql) or die(mysql_error());
    while($row = mysql_fetch_assoc($res)) {
    ?>
        <div id="large-image" class="<?php echo $row['name'] ?> large-image hidden">
            <a href="<?php echo $row['website_address'] ?>"><img src="img/uploads/<?php echo $row['website_image'] ?>" alt="" /></a>
        </div>
    <?php
    }
} // End portfolio
function portfolio_nav() {
    $sql = "SELECT * FROM db ORDER BY id DESC";
    $res = mysql_query($sql) or die(mysql_error());
    while($row = mysql_fetch_assoc($res)) {
    ?>
        <div class="workbox"> 
            <div class="background pngfix"> 
                 <a class="portlink" alt="<?php echo $row['name'] ?>" href="#"><img src="img/uploads/<?php echo $row['website_image'] ?>" alt="" /></a>
            </div>  
        </div> 
    <?php
    }
} // End portfolio

请帮助! !

谢谢本

作为旁注,您不应该有多个具有相同id的元素(您的所有div都以"large-image"作为id)。

我认为你的jQuery应该是这样的:

$(".portlink").click(function() {
    $(".large-image").addClass("hidden");
    var alt = $(this).attr("alt");
    $("." + alt).removeClass("hidden");
})

(最后一行用'+'代替',')。

如果不工作检查$row['name']是一个字符串,如您所期望的

是的,严格来说,每个HTML元素都应该有一个唯一的ID。

你可以为ID添加一个计数器,因此名称将是"large-image-1","large-image-2"等,当然,也可以为JavaScript/jQuery函数传递计数器。

欢呼。