#javascript #html #image
#javascript #HTML #изображение
Вопрос:
Простой вопрос, у меня правильный DIV, 400 * 250 пикселей. И у меня есть это изображение, fooi.png. Как я могу заставить fooi.png случайным образом появляться где-то внутри этого div (и при этом не удалять другие изображения, которые уже появились) каждые 2 секунды?
Редактировать:
Что у меня есть:
function placeimage(){
$('#div').append('<img src="fooi.png" alt="image" id="'. Math.floor(Math.random()*55) .'" onclick="doclick(this.id);">');
setTimeout(placeimage, 2000);
}
placeimage();
Комментарии:
1. Вам нужно задать конкретные вопросы, показать код, который вы пробовали. Общий вопрос: как мне это сделать, этот сайт работает не так, пожалуйста, отредактируйте свой вопрос
2. @mcgrailm Что вы имеете в виду под конкретным? Я не могу объяснить это лучше, я просто хочу создать тег <img> с fooi.png в нем, где-нибудь внутри этого div.
3. покажите, что вы пытались или пытаетесь сделать, и где у вас возникли проблемы. Хорошей отправной точкой было бы использование таймера
4. @mcgrailm Я отредактировал свой пост с тем, что у меня уже есть. Теперь мне нужно создать тег img в случайном месте div… Как?
Ответ №1:
Сначала напишите какой-нибудь css
#div img {position: relative; float: left }
и javascript, как показано ниже
function placeimage(){
var t = $('<img src="fooi.png" alt="image" id="' Math.floor(Math.random()*55) '" onclick="doclick(this.id);">');
$('#div').append(t);
t.css('left', Math.floor(Math.random()*(400 - t.width())));
t.css('top', Math.floor(Math.random()*(250 - t.height())));
setTimeout(placeimage, 2000);
}
placeimage();
Ответ №2:
Используйте setInterval()
:
function placeimage(){
$div = $('#div');
$div.css('position','absolute');
id = 'ranimg' Math.floor(Math.random()*55);
left = Math.floor(Math.random()*parseInt($div.innerWidth()));
top = Math.floor(Math.random()*parseInt($div.innerHeight()));
$div.append('<img src="http://www.gravatar.com/avatar/e1122386990776c6c39a08e9f5fe5648?s=128amp;d=identiconamp;r=PG" alt="image" id="' id '" onclick="doclick(this.id);" style="display: none; position: relative;">');
$img = $('#' id);
$img.css('top',left 'px');
$img.css('left',top 'px');
$img.show();
setInterval(function(){placeimage();}, 15000);
}
placeimage();
Комментарии:
1. Хорошо, это также работает для создания таймаута, но я все еще хочу получить свое изображение в случайном месте внутри div !?! И этот ответ на самом деле не помогает…
2. @Thew — Да, я понял это, как только решил сделать демо. Смотрите редактирование и ссылку. Обратите внимание, в демо я использовал свой собственный gravatar и 15 seconds.