Содержание.
Как вывести текст с помощью getElementById
Как вывести картинку с помощью getElementById
Как скрыть картинку с помощью getElementById
Как вывести картинку с задержкой
Как сократить запись кода document.getElementById
Как упростить запись кода document.getElementById с задержкой
Как в код document.getElementById("id") ввести сразу несколько идентификаторов
Сходство и различие между innerHTML и getElementById
Слайдшоу с помощью getElementById - простой скрипт
Слайдшоу по клику с нумерацией фото и текстом на фото
Метод getElementById позволяет обратится к элементу web-страницы по
его идентификатору. Он позволяет производить самые разнообразные изменения
в текущем окне по ходу исполнения скрипта. В этом его большое сходство
со свойством innerhtml. Что такое идентификатор и что такое innerHTML смотри здесь
Идентификатор ID (в коде он записывается строчными буквами id)
заключается в кавычки и помещается в скобки после записи getElementById.
После идентификатора, точнее после закрывающей скобки, ставят точку и
указывают свойство, к которому идет обращение. Перед всей конструкцией
необходимо записать document и поставить точку.
Как вывести текст с помощью getElementById
document.getElementById("am").innerHTML=b
Здесь am- идентификатор (записывается перед скриптом), b - переменная,
содержащая выводимый текст.
Она записывается в строке перед выводом и должна содержать
описание стиля (выравнивание, размер и цвет шрифта):
b="<p align=center><span style='font-size:40;color:red'> здесь пишем
текст, который нужно вывести с помощью getElementById</span></p>"
В целом скрипт выглядит так
<p id="am" ></p>
<script>
function WGT(){
b="<span style='font-size:40;color:red'><p align=center>< текст выведен c помощью getElementById</span>"
document.getElementById('am').innerHTML=b
setTimeout("am.innerHTML=''",2000) //убираем текст через 2 секунды
}
</script>
<body>
<input type="button" value="нажми" onclick="WGT()">
Как вывести картинку с помощью getElementById
Картинка с помощью getElementById выводится по коду:
document.getElementById("mm").innerHTML="<img src='3.jpg'>"
Идентификатор "mm" должен быть записан до скрипта.
В целом скрипт выглядит так
<p id="mm" ></p>
<script>
function WG(){
q="<img src='531.jpg' style='width:300; height:200'> "
document.getElementById("mm").innerHTML=q
setTimeout("mm.innerHTML=''",2000) //убираем рисунок через 2 секунды
}
</script>
<body>
<input type="button" value="get" onclick="WG()">
Еще один способ вывести картинку с помощью getElementById
В коде вывода вместо innerHTML можно использовать src. В этом случае картинка
с помощью getElementById выводится по коду:
document.getElementById('tak').src="18.jpg"
В целом скрипт выглядит так
<p id="tak" style="display: none; width:300; height:200"></p>
<script>
function WGS(){
tak.style.display ='block'
document.getElementById("tak").src="18.jpg"
setTimeout("mm.innerHTML=''",2000) //убираем рисунок через 2 секунды
}
</script>
<body>
<input type="button" value="щелкни" onclick="WGS()">
Как скрыть картинку
Картинка, выведенная с помощью getElementById может быть скрыта двумя
способами: либо по коду:
id.innerHTML=''
либо по коду:
id.style.display='none'
здесь - id символ идентификатора.
Идентификатор "id" должен быть записан до скрипта.
В целом скрипт выглядит так
<p id="mm" ></p>
<script>
function WGH(){
q="<img src='531.jpg' style='width:300; height:200'> "
document.getElementById("mm").innerHTML=q
setTimeout("mm.innerHTML=''",2000) //скрываем рисунок через 2 секунды
}
</script>
<body>
<input type="button" value="get" onclick="WGH()">
Как вывести картинку с задержкой
Скрипт задержки похож на скрипт скрытия, только в нем добавлена еще одна строка,
содержащая setTimeout. В результате рисунок появляется с задержкой в 1,5 сек. и
исчезает через 4 сек.
<p id="tako" ></p>
<script>
function WGW(){
qq="<img src='18.jpg' style='width:300; height:200'> "
setTimeout('document.getElementById("tako").innerHTML=qq',1500) //появление фото с задержкой 1.5 сек.
setTimeout('tako.innerHTML=""',4000) //удаление фото с задержкой 4 сек.
</script>
<body>
<input type="button" value="смотри задержку" onclick="WGW()">
Как сократить запись кода document.getElementById
Если по коду document.getElementById("id") требуется выполнить несколько действий,
то вместо того, чтобы каждый раз писать document.getElementById можно ограничиться
одной записью
elem=document.getElementById
и затем в коде определенной операции писать только символ переменной elem
Например, вместо
document.getElementById('id').style.borderColor = "blue"
писать
elem.style.borderColor = "blue"
Ниже представлен скрипт, в котором с помощью метода document.getElementById
(используется сокращенная запись кода) у объекта (прямоугольник) после наведения
курсора меняется несколько свойств: размер, цвет фона, цвет рамки, толщина рамки,
исчезают текст и изображение. При этом переменные elem и elem1 и elem2 заменяют
написание document.getElementById в 16 строках.
Краткое пояснение к скрипту
Идентификатор 'idm' задает исходные атрибуты объекта (прямоугольник). Идентификатор 'imkg' задает
исходные атрибуты изображения. Идентификатор 'tex' задает атрибуты текста. Программу запускает
и возвращает к исходному состоянию код (наведение и уход курсора):
onmouseover = "change1(this)" onmouseout = "back1(this).
Все цифры позиционирования условны.
<style>
#tex
{
font-size:20px;font-weight: bold; color:red;
position: absolute; margin-left:127;margin-top:120px;
line-height:30px;
}
#imkg{
position: absolute;margin-top:8px;margin-left:30px;
width:150px; height:100px;
}
</style>
<script>
function change1(elem) /* функция, изменящая атрибуты прямоугольника*/
{
var elem = document.getElementById('idm');
var elem1 = document.getElementById('tex');
var elem2 = document.getElementById('imkg');
if (elem.style.backgroundColor == "green")
{ elem.style.backgroundColor = "red"; /* задаём новый фон прямоугольника */
elem.style.borderColor = "green" /* задаём новый цвет бордюра прямоугольника */
elem.style.borderWidth = "10px" /* задаём новую толщину бордюра прямоугольника */
elem.style.width = "350px" /* задаём новую ширину прямоугольника */
elem.style.height = "350px" /* задаём новую высоту прямоугольника */
elem1.style.fontSize = "0px" /* удаляем шрифт*/
elem2.style.display='none' /* удаляем изображение*/
}
}
function back1(elem) /* функция, восстанавливающая исходные атрибуты прямоугольника*/
{var elem1 = document.getElementById('tex');
var elem2 = document.getElementById('imkg')
if (elem.style.backgroundColor == "red") {
elem.style.backgroundColor = "green";
elem.style.borderColor = "00bfff"
elem.style.borderWidth = "5px"
elem.style.width = "200"
elem.style.height = "110px"
elem1.style.fontSize = "20px"
elem2.style.display='block'
};
};
</script>
</head>
<body>
<div id="idm" style='margin-left:80;margin-top:40px;position: absolute;
border-width:5px; border-style: solid; border-color:violet; background-color:green;
WIDTH:200; height:110;'
onmouseover = "change1(this)"onmouseout = "back1(this);"><img id='imkg'src="3.jpg">
</div><a id='tex'>наведи курсор</a>
наведи курсорКак упростить запись кода document.getElementById с задержкой
Если по коду, основанному на document.getElementById, нужно произвести какое-либо
действие с задержкой, то кодовая строка получается очень длинной. Например, для
изменения цвета фона фигуры с задержкой:
setTimeout('document.getElementById("my").style.backgroundColor = "yellow"',2000)
Можно упростить написание кода, если разбить его на части, сделав каждую часть
переменной:
xs='document.getElementById("my")'
ys='.style.backgroundColor = "blue"'
zs=xs+ys
setTimeout(zs,3000)
В представленном примере у фигуры (прямоугольник), код которой содержит
идентификатор 'my', через 2 секунды происходит смена фона. Длинный код меняет
фон с зеленого на желтый, код, разбитый на части - с желтого на синий. Окно
закрывается автоматически.
P.S. переменную zs в коде задержки ставить в кавычки не надо.
Как в код document.getElementById("id") ввести сразу
несколько идентификаторов Если по коду document.getElementById("id")
нужно вывести сразу несколько идентификаторов,
то вместо записи нескольких однотипных строчек с разными идентификаторами в круглых
скобках можно ограничиться всего одной. Ниже представлен скрипт по выводу на экран и
скрытию двух групп картинок, причем вывод и скрытие происходят в разное время.
<head>
<style>
img{
margin-left:30px;
float:left;
display: none;
width:300; height:200;
}
</style>
<script>
x=['im1','im2', 'im3' ]
z=['im4','im5', 'im6' ]
t=500
function WW(x){
for (i = 0; i <= 4; i++)
document.getElementById(x[i]).style.display ='block'}
setTimeout("WW(x)",t)
t=3500
function WD(x){
for (i = 0; i <= 4; i++)
document.getElementById(x[i]).style.display = 'none'}
setTimeout("WD(x)",t)
t=1500; setTimeout("WW(z)",t)
t=4500; setTimeout("WD(z)",t)
</script>
<body>
<img id="im1" src="3.jpg" style='border: 6px solid red'>
<img id="im2" src="17.jpg" style='border: 6px solid red'>
<img id="im3" src="19.jpg" style='border: 6px solid red'><BR>
<img id="im4" SRC="18.jpg" style='border: 6px solid yellow; margin-top:35px'>
<img id="im5" SRC="15.jpg" style='border: 6px solid yellow; margin-top:35px'>
<img id="im6" SRC="14.jpg" style='border: 6px solid yellow; margin-top:35px'>
Пояснения к скрипту
Группы идентификаторов задаются как массивы
x=['im1','im2', 'im3' ]первые три картинки
z=['im4','im5', 'im6' ]вторые три картинки
Чтобы в коде каждого изображения не перечислять его атрибуты (размеры,
его исходное, скрытие) используется внутренний стиль
<style>
img{
margin-left:30px;
float:left;
display: none;
width:150; hight:100;
}
</style>
Функция WW() отображает изображения, а функция WD()
скрывает их.
Для второй (и последующих групп, если они будут) идентификаторов коды отображения
и скрытия предельно короткие
t=1500; setTimeout("WW(z)",t)
t=5500; setTimeout("WD(z)",t)
Задержка позволяет выводить рисунки группами в разное время и совершать
над ними действия (например, убирать через какое-то время с экрана)
Сходство и различие между innerHTML и getElementById.
Как было указано выше,одну и ту же операцию можно осуществить как
с помощью getElementById, так и с помощью innerhtml. Приведем
пример вывода текста Cкрипт этого примера таков.
<HTML>
<HEAD>
<TITLE>get1</TITLE>
<p id="tmy">
<p id="ttt"></p>
<p id="tet"></p>
<script language="JavaScript">
var x=0;
setInterval('WW()',100)
function WW(){
x++;
if (x>5)
{
q="<p align=center><span style='font-size:40;color:red'>выводим текст с помощью getElementById
по коду: document.getElementById('tmy').innerHTML=q</span></p>"
document.getElementById("tmy").innerHTML=q
}
if (x>25)
{
d="<p align=center> <span style='font-size:40;color:blue'>выводим текст с помощью innerHTML по коду: ttt.innerHTML=d</span></p>";
ttt.innerHTML=d
}
}
WW()
<script>
</HEAD>
<body bgcolor="00ff00">
</body>
</html>
Здесь х - переменная, пропорциональная времени, позволяющая задать
динамический сценарий.
Приведем теперь пример вывода изображения
Cкрипт этого примера таков.
<HTML>
<HEAD>
<TITLE>get2</TITLE>
<p id="my"></p>
<p id="mym"></p>
<p id="tam"></p>
<p id="tet"></p>
<p align=center><img id="tim" SRC="" width=300 height=200 ></p>
<script language="JavaScript">
var x=0;
setInterval('WW()',100)
function WW(){
x++;
if (x>5)
{
w="выводим рисунок с помощью getElementById"
my.innerHTML="<p align=center><span style='font-size:30;color:brown'>"+w+"<<span>>lt/p>"
document.getElementById("tim").src="1.jpg"
}
if (x>35)
{
w="замещаем рисунок с помощью getElementById"
my.innerHTML="<p align=center><span style='font-size:30;color:red'>"+w+"</span></p>"
document.getElementById("tim").src="18.jpg"
}
if (x>75)
{
tim.outerHTML='<style.display="none">';
my.outerHTML='<style.display="none">';
w="выводим рисунок с помощью innerHTML"
mym.innerHTML="<p align=center><span style='font-size:30;color:blue'>"+w+"</span></p>"
tam.innerHTML="<img SRC='533.jpg' width=300 height=200>"
}
}
WW()
</script>
</HEAD>
<body bgcolor="00ff00">
</body>
</html>
Слайдшоу с помощью getElementByIdС помощью метода getElementById можно создать простой
и короткий скрипт слайдшоу смотри
Cкрипт этого примера таков.
<HTML>
<HEAD>
<TITLE>get3</TITLE>
<p id="my"></p>
<script>
w="ПАРОВОЗЫ"
my.innerHTML="<span style='font-size:40;color:blue'>'+w+'</span>"
par= new Array
massive_length=6
par=["112.jpg","120.jpg","126.jpg","532.jpg","533.jpg","150.jpg"]
var n=0
function ST(){
setInterval(SH, 2000)
}
function SH(){
if (n<6)
{
document.getElementById('tam').src=par[n++]
}
else
w="КОНЕЦ"
my.innerHTML="<p align=center><span style='font-size:40;color:red'>"+w+"</span></p>"
}
ST()
</script>
</HEAD>
<body bgcolor="00ff00">
<p align=center><img id='tam' src="112.jpg" width=750 height=550></img></p>
</body>
</html>
Слайдшоу по клику с нумерацией фото и текстом на фото
В приведенных примерах время нахождения каждого фото на экране задается в скрипте
и является фиксированным. Иногда требуется на отдельных фото задержаться подольше.
Это можно сделать, вызывая каждое фото по клику. Кроме того, полезно пронумеровать
фото. Скрипт такого сценария приводится ниже. Переход к следующему фото - по клику.
Верхняя кнопка для ориентировки, поскольку кликать можно в любом мест
(либо по ней, либо вокруг нее). Каждый клик продвигает сценарий без
кнопки - это обеспечивает функция document.addEventListener("click", имя функции).
Нижняя кнопка (обновление) нужна в случае повторения сценария.
При воспроизводстве скрипта с экрана пояснительные записи /*...*/ должны быть удалены.
<style>
#idn{position: absolute; margin-left:1035;margin-top:125px;display:none;
width:45px; height: 78px; border-color:green; border-style: solid; border-width: 3px; font-size:80;color:red;
font-weight: bold; background-color: cfc;z-index:100;
} /*стиль рамки номера фото*/
#butS /*стиль псевдокнопки запуска */
{position: absolute;
text-align:center;
font-size:25px; color:purple;
border:6px solid red;
background-color:cyan;
border-radius: 10px;
width: 310px;
height: 10px;
padding-bottom:50px;
line-height:30px;
}
img1{position: absolute;margin-top: 16px;margin-left: 360px;}
</style>
<body>
<div>
<center id="idn">0</center>
</div>
<p id="myt" style='margin-left: 485px;margin-top:110px;position: absolute;'></p>/*позиционирование фото */
<p id="mym" style='font-size:15; width:245px; background-color: cfc;
height: 25px; border-color:red; border-style:solid; border-width:3px;
display:none;margin-left: 488px;margin-top: 490px;position: absolute;
text-align:center'> /*стиль текста в рамке */
</p>
<script>
var x = 0;
function WC() { /*Счетчик кликов-номер фото */
x++
document.getElementById("idn").innerHTML = x; /*вывод цифр*/
document.getElementById("idn").style.display = "block"
}
document.addEventListener("click", WC);
par=["156","140","112","155","608"]
par1=["ПАРОВОЗ серии 'Нв'","Паровоз серии Аб","Паровоз серии С","Паровоз серии Су","Паровоз серии П36"]
var m = 0; var n=0;
function WW() /*Функция вывода фото и текста */
{
if (x < 6)
{
var w=".jpg"
y=par[m]+w
wr="<img class='img1' src='"+y+"' width='600' height='400' > "
m++
z=wr
myt.innerHTML="<span >"+z+"</span>" /*вывод фото */
document.getElementById("mym").style.display = "block"
q1=par1[n]
n++
q11="<font size=4 color=red>"+q1+"</p>";
mym.innerHTML=q11 /*вывод текста поверх фото */
}
else { /*окончание слайдшоу */
document.getElementById("idn").style.display = "none"
document.getElementById("myt").style.display = "none"
document.getElementById("mym").style.display = "none"
}
}
document.addEventListener("click", WW);
</script>
<div id='butS' >Кликни и кликай дальше</div> /*псевдокнопка запуска*/
</body>
0
Для повтора кликни здесь и вернись к верхней кнопке
Оглавление (простые скрипты для основных приложений JavaScript)