我正在尝试在单击图像时执行一些 jQuery 代码,我的问题是它只有在我单击图像时才会执行。我想我的问题是我将所有图像都放在一个以photo
固定宽度和高度命名的 div 中。图像被约束以适合 div 而不会使图像从其原始约束扭曲。图片不会填充 div,所以当我点击图片外部时,我点击的是 div 而不是图片。如何更改下面的代码,使其仅在photo
单击 div 内的图像时才执行?我是 jQuery 新手,所以如果它是一个相当简单的修复,请原谅我的问题。
$("body").click(function(event) {
var $target = $(event.target).attr('class');
var $idOfPhoto = event.target.id;
if ($target == "photo") {
$('#lightBox').lightbox_me({
centered:true,
onLoad:function() {
$('#lightBox').empty();
$('#lightBox').prepend('<img src="/Victoria/images/photoGallery/' + $idOfPhoto + '" />');
}
});
}
});
这是完整的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Victoria Mendiola</title>
<link rel="stylesheet" href="css/style.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<link type="text/css" href="css/jquery.jscrollpane.css" rel="stylesheet" media="all" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="css/jquery.mousewheel.js"></script>
<script type="text/javascript" src="css/jquery.jscrollpane.min.js"></script>
<script src="/resources/library/jquery.lightbox_me.js"></script>
<script src="/resources/library/jquery.browser.js"></script>
<script src="jquery.cycle.all.js"></script>
</head>
<body>
<div id="lightBox">
</div>
<div class="container">
<div class="logo">
<img class="victoriaLogo" src="images/Victoria-logo.png" />
</div>
<div class="navigation">
<a class="navText" href="index.php">Home</a>
<a class="navText" href="gallery.php">Gallery</a>
<a class="navText" href="#about">About</a>
<a class="navText" href="contact.php">Contact</a>
</div>
<script>
$(function()
{
$('.galleryContainer').jScrollPane();
});
</script>
<div class="galleryContainer">
<?php
require 'DB.php';
try{
$stmt ='SELECT * FROM victoria';
foreach ($conn->query($stmt) as $row)
{
echo ('<div class="photo" id="' . $row['name'] . '">
<img src="images/photoGallery/thumbnails/' . $row['name'] . '" /> </div> </a>');
}
} catch (PDOException $e){
echo 'Connection failed: ' . $e->getMessage();
}
?>
</div>
<script>
$("body").click(function(event) {
var $target = $(event.target).attr('class');
var $idOfPhoto = event.target.id;
if ($target == "photo") {
$('#lightBox').lightbox_me({
centered:true,
onLoad:function() {
$('#lightBox').empty();
$('#lightBox').prepend('<img src="/Victoria/images/photoGallery/' + $idOfPhoto + '" />');
}
});
}
});
</script>
</div>
</body>
</html>