我有正确的代码,所以当我点击图片链接时,jquery会将图片放在应该的位置并且大小合适。但是,我无法弄清楚在javascript中使用哪些代码,以便在我再次单击图像时。它从div中删除当前内容并将其重新放回,而不是重复将图像放入div中?
以下是javascript代码:
<script type="text/javascript" src="js/jquery-1.8.1.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('img').click (function() {
$('.deal_content').append('<img src="deal_content.fw.png" width="700px" height="500px" alt="Deals" />');
return false;
$('img').fadeToggle([normal]);
});
});
</script>
以下是它正在影响的HTML:
<div class="deal_content">
</div>
<div id="content">
<div id="imagelink">
<a href="#">
<img src="for_men_btn.fw.png" width="200" height="87" alt="For Men" />
</a>
<a href="#">
<img src="for_couples_btn.fw.png" width="200" height="87" alt="For Couples" />
</a>
<a href="#">
<img src="for_teens_btn.fw.png" width="200" height="87" alt="For Teens" />
</a>
</p>
</div>
答案 0 :(得分:0)
一个简单的if
应该能够检测到元素中是否已有图像:
<script type="text/javascript">
$(document).ready(function() {
$('img').click (function() {
if ($('.deal_content img').length > 0) {
$('.deal_content img').remove();
} else {
$('.deal_content').append('<img src="deal_content.fw.png" width="700px" height="500px" alt="Deals" />');
}
return false;
$('img').fadeToggle([normal]);
});
});
</script>
答案 1 :(得分:0)
以下淡入淡出切换当前点击的图像。在这种情况下,您需要使用委托事件(请参阅documentation)使其适用于动态附加的图像。
$(document).ready(function() {
$('.deal_content').on("click", "img", function() {
$(this).fadeToggle("normal");
});
});
然后为您的链接添加一个单独的事件处理程序以附加图像:
$('#imagelink a').click(function() {
$('.deal_content').append('<img src="deal_content.fw.png" width="700px" height="500px" alt="Deals" />');
return false;
});
答案 2 :(得分:0)
不确定这是否是您所要求的?
$(document).ready(function() {
$('img').click (function() {
var image = ('<img src="deal_content.fw.png" width="700px" height="500px" alt="Deals" />')
$('.deal_content').html(image).hide().fadeToggle();
});
});