Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 22.12.2011, 18:03   #1
InCun
Пользователь
 
Аватар для InCun
 
Регистрация: 11.04.2009
Сообщений: 64
Вопрос body onload? А как сделать div.onload?

Код HTML:
<div class=one ONLOAD="functionName(this);">
	<div class="prev"> </div>
		<ul>		
			<li>
				<a href='' alt='url image'></a>
			</li>
		</ul>
	<div class='cl'></div>
</div>
1) Функция functionName() выполняет запрос .parent к первому дочернему тегу - <a> и забрать у него атрибут alt, который содержит в себе ссылку.
2) jQuery подключен.
3) div'ов с классом one - несколько.
4) элементов - LI рандомное количество (всегда больше 2).
5) В каждом div'e с классом one, присутствует дочерний div с классом prev.

PHP код:
function functionName(this) {
    var 
aImg= $(this).find("a.class:first-child");
    var 
Img = $(aImg).attr("alt");
    $(
this).children(".prev").css("background","url('Img')");

описание функции:
-> запуск функции.
-> поиск в дочерних: a.class
-> присваивание переменной, конкретному атрибуту: var aImg = ...attr('alt');
-> после чего идет вставка переменной(ссылки с тега А) в бекграунд дива prev...

Все это работает, возможно в описании допущены ошибки.

смысл таков, что для каждого дива с One классом, должна применяться функция с теми действиями что описаны выше...
Вопрос: Как можно реализовать ONLOAD к каждому из этих div'ов с этой функцией PS.Чтобы работали все финды и чилдрены.


Я так полагаю что while-ом перебирать нужно? подскажите наглядный пример... Пожалуйста.
InCun вне форума Ответить с цитированием
Старый 22.12.2011, 18:14   #2
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

Однако, сложно Вас понять. Зачем оно вообще надо?
Цитата:
body onload? А как сделать div.onload?
Я вижу примерно так: вешаете на body.onload функцию, кот. делает то, что Вам надо (что именно, я не понял)
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 22.12.2011, 18:31   #3
InCun
Пользователь
 
Аватар для InCun
 
Регистрация: 11.04.2009
Сообщений: 64
По умолчанию

есть список изображений в таком виде:
Код:
<a href="javascript:void(0)" alt="linkbigfoto"> <img src="linksmallfoto"></a>
рядом со списком есть Блок div, в котором с помощью JS(jQuery) делается предосмотр большого изображения. т.е. при нажатии на <a> берется ссылка с аттрибута ALT и вставляется в бекграунд Блока.

На одной страницы, таких списков НЕСКОЛЬКО. т.е. как группы объектов и к каждой группе свой блок предосмотра.

Ваш вариант сработает лишь для одного, а точнее вообще не сработает ибо <div class=prev - не один, а много... в итоге либо обработается лишь 1 див, либо во все дивы вставится одно и тоже изображение.

функция привязана к див-у группы...
ссылка лишь обновляет изображение в блоке prev...
требуется вообще такое, чтобы при загрузке страницы, блок prev сам брал ссылку из соседнего списка ссылок на изображения.

Последний раз редактировалось InCun; 22.12.2011 в 18:40.
InCun вне форума Ответить с цитированием
Старый 22.12.2011, 18:47   #4
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Что значит onload для div'а? Он аяксом подгружается откуда-то?
пыщь
JTG вне форума Ответить с цитированием
Старый 22.12.2011, 18:56   #5
InCun
Пользователь
 
Аватар для InCun
 
Регистрация: 11.04.2009
Сообщений: 64
По умолчанию

Цитата:
Сообщение от JTG Посмотреть сообщение
Что значит onload для div'а? Он аяксом подгружается откуда-то?
onload, имеется ввиду, после загрузки страницы выполнить функцию.

До меня дошло, что нужно сделать так.
1) в скрипте, через jQuery задать $().ready или как его там правильно я не знаю. т.е. после загрузки страницы, выполняется далее заданное действие.

2) Чтобы после ready функция применялась к каждому нужному div-y с классом "one", нужно из перебрать в each...

только моих знаний не достаточно чтобы додуматься как сделать each =( туп для этого...
InCun вне форума Ответить с цитированием
Старый 22.12.2011, 19:09   #6
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Такое?
http://jsfiddle.net/Xk7cH/


По аналогии сделаете? Чтоб не писать .parent().parent().parent()..., выбираясь из списка вверх, можно заюзать .closest(".prev")
пыщь

Последний раз редактировалось JTG; 22.12.2011 в 19:15.
JTG вне форума Ответить с цитированием
Старый 22.12.2011, 19:12   #7
InCun
Пользователь
 
Аватар для InCun
 
Регистрация: 11.04.2009
Сообщений: 64
По умолчанию

Цитата:
Сообщение от JTG Посмотреть сообщение
Да, благодарю, тоже самое что у меня.

Но, проблема остается той-же... в вашем примере, в коде <div class="screen"></div> поле остается пустым при загрузке страницы... как его заполнить элементом из предоставленных изображений?? Напомню, что изображения разные... взять впихнуть вручную ссылку не получится.

Последний раз редактировалось InCun; 22.12.2011 в 19:14.
InCun вне форума Ответить с цитированием
Старый 22.12.2011, 19:20   #8
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

При загрузке для каждого .screen взять фоном src первого дочернего img

http://jsfiddle.net/Xk7cH/1/
пыщь
JTG вне форума Ответить с цитированием
Старый 22.12.2011, 19:29   #9
InCun
Пользователь
 
Аватар для InCun
 
Регистрация: 11.04.2009
Сообщений: 64
По умолчанию

JTG, благодарю за помощь, завтра отпишусь что получится.
InCun вне форума Ответить с цитированием
Старый 22.12.2011, 20:54   #10
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Код:
$.ready(function() {
  $('.one').each(function() {
    var prev_obj=$(this).find('.prev');
    $(this).find('a').each(function() {
      prev_obj.css('background',$(this).attr('alt'));
    });
  });
});
Оно или я не въехал в трабл?
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
событие onLoad SkrudjMakdak JavaScript, Ajax 1 11.07.2011 02:40
как запустить два события по onLoad? kirosin JavaScript, Ajax 3 28.10.2010 04:32
div тег как нижний слой для второго div тега dadli HTML и CSS 2 30.07.2010 00:12
как сделать чтобы картинка была фоном в body в самом низу aseeva_sonya HTML и CSS 8 15.01.2010 16:14
Блоки div вместо td, как сделать две колонки одинаковой высоты? v.victoria12345 HTML и CSS 0 06.05.2009 17:05


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS