使用javascript淡入淡出图像

时间:2014-03-25 20:00:51

标签: javascript jquery html

我有正确的代码,所以当我点击图片链接时,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>

3 个答案:

答案 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();   
    });
});