Содержание. Как вывести текст с помощью getElementById Как вывести картинку с помощью getElementById Как скрыть картинку с помощью getElementById Как вывести картинку с задержкой Как сократить запись кода document.getElementById Как упростить запись кода document.getElementById с задержкой Как в код document.getElementById("id") ввести сразу несколько идентификаторов Сходство и различие между innerHTML и getElementById Слайдшоу с помощью getElementById - простой скрипт Слайдшоу по клику с нумерацией фото и текстом на фото Метод getElementById позволяет обратится к элементу web-страницы по его идентификатору. Он позволяет производить самые разнообразные изменения в текущем окне по ходу исполнения скрипта. В этом его большое сходство со свойством innerhtml. Что такое идентификатор и что такое innerHTMLdocument.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()">
Как сократить запись кода 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
по коду: |
Оглавление (простые скрипты для основных приложений JavaScript)