我正在为我的网站创建一个投资组合图片库,但我遇到了一些麻烦...当我点击其中一个图标时,第一张图片消失了(假设发生这种情况),但下一张图片无法打开...
继承我的代码:
$(".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
请帮助!!
由于 本
答案 0 :(得分:0)
正如旁注,你不应该有多个具有相同id的元素(你的所有div都有“大图像”作为id)。
我认为你的jQuery应该是这样的:
$(".portlink").click(function() {
$(".large-image").addClass("hidden");
var alt = $(this).attr("alt");
$("." + alt).removeClass("hidden");
})
(在最后一行使用'+'代替','。
如果这不起作用,请检查$ row ['name']是否符合预期的字符串。
答案 1 :(得分:0)
严格来说,每个HTML元素理想情况下应该具有唯一的ID。
您可以为ID添加一个计数器,因此名称将是“large-image-1”,“large-image-2”等,当然,也可以为JavaScript / jQuery传递计数器功能
干杯。