![]() |
Javascript. Скрыть - показать картинки при помощи getElementsByName
Привет. Нужна помощь.
Имеем таблицу в которой в одном столбце есть картинки. Нужно по событию, в данном случае чекбокс в ячейке "миниатюра", либо показать, либо скрыть картинки. Насколько я понял, нужно использовать getElementsByName. Потому как для getElementsById нужны уникальные id, а где я их возьму. В примере использую тэг а, но думаю суть от использования img не меняется. Нашел вот такую функцию. Алерты отрабатывают, правда что показывают последующие алерты не пойму. HTML код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
Вот примерно так:
Код:
function oo() { |
Спасибо, работает.
Даже в Konqueror работает, а в шестом ослике не хочет. Ну и фиг с ним. :) Вот только не понял переключателя - выключателя, какая между ними разница? |
Да, только это убирает все картинки на странице, а не только миниатюры ;-)
Поэтому о getElementsByName в чистом виде придётся забыть. Классический вариант: передавать функции id таблицы, перебирать у неё всех потомков, сравнивая картинка это или нет. И опять же: все ли картинки внутри таблицы - миниатюры? |
Цитата:
Код:
n = 12; // количество миниатюр Цитата:
Цитата:
Впрочем, я бы предпочёл getElementById или getElementByClass из Prototype. |
Coutty, да, каюсь - написал не вникая особо вчитываясь O:-)
Только спецификации html 4.01 предполагает, что name у изображений уникален ;) |
Coutty, почти уговорил :)
HTML код:
<script> |
Я бы не сказал, что тема совсем решена. В IE 6 версии так и не работает.
Кстати, Coutty, не подскажешь как вывести список переменных из некоторого массива, по типу var_dump, print_r в php. К примеру, в том же document.getElementsByName. Либо здесь - http://www.spravkaweb.ru/javascript/...ocument/object, приведены объекты, как узнать что в этих объектах содержится. |
Цитата:
Цитата:
Код:
function print_r(arr, level) { Цитата:
|
Не работает getElementsById.
Гугль помогает когда знаешь что искать и как это применить. Вот почему нет аналога php.net? Только location и работает, на все остальное Furebug говорит "too much recursion" ругаясь на эту строчку - print_red_text += print_r(value,level+1); |
Цитата:
getElementById Цитата:
Например, на w3schools.com JavaScript reference HTML DOM reference (скорее всего именно это и заинтересует). |
Цитата:
|
Цитата:
Зато я повторюсь :) Вот что я имелл ввиду. Код:
function op() { |
Я понял, в чём загвоздка - IE не отрабатывал событие onchange, пока не кликнешь по пустому месту. Поменяйте на onclick, а скрипт тоже чуть изменил:
Код:
function op() { HTML код:
<th scope="col">Миниатюра<input type="checkbox" value="ON" id="chkbox" onclick="op()" /></th> |
:durak:
Если указаны width и height, но значения пустые, то ИЕ плюёт на изображение с высооооокой колокольни. То есть вообще его не показывает. Напоследок, скрипт отмечающий все чекбоксы. Работает: IE 6.2900.2180, Firefox 2.0.0.1, Opera 9.27 Код:
function checkAll(oForm, cbName, checked) |
Время: 14:58. |
Время: 14:58.
© OSzone.net 2001-