1

当用户单击小缩略图时,我希望在同一页面上使用更大的 div 元素来显示该图像。到目前为止,它适用于以下代码:

$(document).ready(function () {
    $("img#thumb").click(function () {              //when image with ID thumb is clicked change src 
    var imgpath = $(this).attr("src");
    $("img#cover").attr("src", imgpath);
});

});

但是,我现在希望旧图像淡出,同时根据用户单击的缩略图切换新图像。我通过让 jQuery 将 src 文件保存到一个变量来跟踪单击的拇指,然后使用.attr()

我怎样才能做到这一点?

4

4 回答 4

0

我猜你的意思是淡出封面图像。

如果是这样,您可以尝试:

$("img#cover").fadeOut();
$("img#cover").attr("src", imgpath);
于 2012-11-19T17:58:13.993 回答
0

您应该关注事件而不是jquery 的单击事件。您甚至可以利用直播,但现在已弃用。

于 2012-11-19T18:02:55.580 回答
0

不确定我是否抓住了您需要的东西,但这应该没问题,请尝试:

  $(function(){
        $("img#thumb").bind('click',function () {               
        var img = $(this).clone(); //this clones the img, so you do not need to re-load that using src path
        $(this).fadeOut(500);
        $("img#cover").hide().html(img).fadeIn(500); //remove .hide() segment if you just are hiding by css rules

        });

        });
于 2012-11-19T18:11:04.987 回答
0

这是我对您要完成的工作的解释:DEMO

HTML

<img class="thumb" src="/img/logo.png" width="100" />
<img class="thumb" src="http://www.wpclipart.com/sign_language/thumbs_up_large.png" width="100" />

<div class="cover">
    <img id="cover" width="400"/>
    <img id="cover-old" width="400"/>
</div>
​

Javascript

$(function() {
    $("img.thumb").on('click', function() { //when image with ID thumb is clicked change src 
        var imgpath = $(this).attr("src");
        $("#cover-old").attr('src', $("#cover").attr('src'));
        $("#cover-old").show();
        $("#cover").hide();
        $("#cover").attr("src", imgpath);
        $("#cover-old").fadeOut('slow');
        $("#cover").fadeIn('slow');
    });
});​

CSS

.cover {
    position: relative;

}
.cover img {
    position: absolute;
}
​
于 2012-11-19T18:19:25.260 回答