0

我想知道如何使用此示例在悬停时添加淡入淡出效果http://www.designchemical.com/lab/jquery/demo/jquery_demo_image_swap_gallery.htm

我想知道是否有可能实现这样的 www.bungie.net

这是示例中使用的代码

$(document).ready(function() {
    // Image swap on hover
    $("#gallery li img").hover(function(){
        $('#main-img').attr('src',$(this).attr('src').replace('thumb/', ''));
    });
    // Image preload
    var imgSwap = [];
     $("#gallery li img").each(function(){
        imgUrl = this.src.replace('thumb/', '');
        imgSwap.push(imgUrl);
    });
    $(imgSwap).preload();
});
$.fn.preload = function() {
    this.each(function(){
        $('<img/>')[0].src = this;
    });
}
4

3 回答 3

1

我使用了 bruchowski 的代码,它对我很有用。我确实将 .hover 更改为 .mouseover ,因为当鼠标移出时我得到了双重淡入淡出效果,我只是希望最后一个鼠标悬停的图像能够粘住。

I'm also very new to jquery and at first pasted it in the wrong place. Once I placed it directly before $(imgSwap).preload(); it worked.

And I slowed the fade down.

So my code is as follows:

<script type="text/JavaScript">
// prepare the form when the DOM is ready 
$(document).ready(function() {
    $("#gallery li img").hover(function(){
    $('#main-img').attr('src',$(this).attr('src').replace('thumb/', ''));
});
var imgSwap = [];
 $("#gallery li img").each(function(){
    imgUrl = this.src.replace('thumb/', '');
    imgSwap.push(imgUrl);
});
$("#gallery li img").mouseover(function(){
if ($("#main-img:animated").length){
    $("#main-img:animated").stop();
}
$("#main-img").css("opacity", "0").animate({"opacity":"1"}, 1400);
}); $(imgSwap).preload();
});
$.fn.preload = function() {
this.each(function(){
    $('<img/>')[0].src = this;
});
}
</script>

Thanks!!!

于 2013-07-25T22:18:50.243 回答
0

在他们的示例中的这部分代码中

   $("#gallery li img").hover(function(){
    $('#main-img').attr('src',$(this).attr('src').replace('thumb/', ''));
});

改成

   $("#gallery li img").hover(function(){
    $('#main-img').attr('src',$(this)
                   .fadeOut('fast')            
                   .attr('src').replace('thumb/', ''));
});
于 2013-03-30T03:11:23.053 回答
0

这是一个快速的解决方案(您可以将此添加到他们现有的代码中,不要编辑他们已有的代码)

$("#gallery li img").hover(function(){
    if ($("#main-img:animated").length){
        $("#main-img:animated").stop();
    }
    $("#main-img").css("opacity", "0").animate({"opacity":"1"}, 300);
});
于 2013-03-30T03:19:54.593 回答