我正在为我的网站创建一个投资组合图片库,但我有一些麻烦…当我点击其中一个图标时,第一个图像消失了(这应该发生),但下一个图像不会打开…
下面是我的代码:
$(".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函数传递计数器。
欢呼。