18

我想要做的是,当用户单击页面上的某个位置时,包含随机图像的 div 将显示在单击位置并保持在那里。这必须能够重复,每次都显示不同的图像。有什么建议么?

4

2 回答 2

25

这是一个工作小提琴

JS:

$(function(){
    var fadeDelay = 1000;
    var fadeDuration = 1000;
    $(document).click(function(e){
        var div = $('<div class="image-wrapper">')
            .css({
                "left": e.pageX + 'px',
                "top": e.pageY + 'px'
            })
            .append($('<img src="" alt="myimage" />'))
            .appendTo(document.body);

        setTimeout(function() {
            div.addClass('fade-out');           
            setTimeout(function() { div.remove(); }, fadeDuration);
        }, fadeDelay);
    });
});

CSS:

body {
    position: relative;
}

.image-wrapper {
    position: absolute;
    transform: translate(-50%, -50%);
    opacity: 1;
}

.image-wrapper.fade-out {
    opacity: 0;
    transition: opacity 1s ease-in-out;
}
于 2012-12-25T17:25:33.037 回答
3

使用从 1 到 10 的随机图像:

jQuery(document).ready(function(){
  $(document).click(function(e){
    var num = Math.floor((Math.random()*10)+1);
    var img = $('<div>Image '+num+':<img src="image' + num + '.png" /></div>');
    $("#img_container").html(img).offset({ top: e.pageY, left: e.pageX});
  });
})

演示

于 2012-12-25T17:45:36.520 回答