добавление картинки или видео по клику в div
Подскажите, как добавить картинку или видео в div по клику?
|
Цитата:
- вешаешь на какой-либо элемент обработчик на клик - в том обработчике создаешь элемент картинка - выбираешь нужный ДИВ - вставляешь в него созданную картинку |
подскажите код создания картинки в div id="box"
я пытаюсь сделать так:
var img1 = document.createElement('img src=xxx');
box.appendChild(img1)
|
Цитата:
А по твоему огрызку не понятно много чего... Например так Цитата:
Как вариант...
var img1 = document.createElement('img');
img1.src='xxx';
|
хорошо, элемент создали, а правильно я его размещаю в div?
|
|
Цитата:
|
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Пример</title>
<style>
#box {
display: block;
background-image: url(http://kalamb.ru/fon.jpg);
margin: 0 auto;
width: 200px;
height: 200px;
transition: all;
}
</style>
</head>
<body>
<div id="box"></div>
<!-- Первый вариант -->
<script>
box.onclick = function() {
this.style.backgroundImage = url(http://kalamb.ru/1.jpg);
alert ("rrr");
}
</script>
<!--1-->
<!-- Второй вариант
<script>
box.onclick = function() {
var img1 = document.createElement('img');
img1.src='http://kalamb.ru/1.jpg';
box.appendChild(img1);
}
</script>
-->
</body>
</html>
И ничего не работает. Смысл в чем, при клике на div с фоновым рисунком появляется нужная картинка или(!) встраивается видео <video>. Тяжелова-то самому сразу разобраться с JS. Прошу помощи! |
Цитата:
По первому варианту...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
#box {
display: block;
background-image: url('http://kalamb.ru/fon.jpg');
margin: 0 auto;
width: 200px;
height: 200px;
transition: all;
}
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<div id="box"></div>
<!-- Первый вариант -->
<script>
document.getElementById('box').onclick = function() {
this.style.backgroundImage = 'url("http://kalamb.ru/1.jpg")';
};
</script>
</body>
</html>
|
По второму варианту...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
#box {
display: block;
background-image: url('http://kalamb.ru/fon.jpg');
margin: 0 auto;
width: 200px;
height: 200px;
transition: all;
}
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<div id="box"></div>
<!-- Второй вариант -->
<script>
var o=document.getElementById('box')
o.onclick = function() {
var img1 = document.createElement('img');
img1.src='http://kalamb.ru/1.jpg';
this.appendChild(img1);
}
</script>
</body>
</html>
|
Большое тебе спасибо, товарищ колобок, буду изучать! Подскажи, зачем закомментировал библиотеки, нужны ли они?
И еще моментик, при клике добавляется копия, как это убрать? мое не работает
if (document.getElementById('img')) this.appendChild(img1);
|
Цитата:
Для твоего случая все выключено - можно просто удалить. :yes: |
немножко самообучился
var o=document.getElementById('box');
o.onclick = function() {
var img1 = document.createElement('img');
img1.src='http://kalamb.ru/1.jpg';
if (!this.childNodes.length) this.appendChild(img1);
}
|
| Часовой пояс GMT +3, время: 15:15. |