Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Несколько popup окон (https://javascript.ru/forum/events/42295-neskolko-popup-okon.html)

BETEPAH 21.10.2013 14:02

Цитата:

Сообщение от Михаил Мел
Вы вывели просто алерт, а не div с соответствующим id.

На коленях прошу, нажмите на ссылку в 6м сообщении.
сюда продублирую ее, чтоб виднее было
http://learn.javascript.ru/play/OfM4dc
Цитата:

Сообщение от Михаил Мел
ну хотелось чтобы там стояло 14 и 24 или 104.

вам сколько разных попапов нужно? я указал, что этот скрипт будет работать только с 9ю штуками, перечислю их также на всякий случай:
popup-box-1
popup-box-2
popup-box-3
popup-box-4
popup-box-5
popup-box-6
popup-box-7
popup-box-8
popup-box-9

Михаил Мел 21.10.2013 18:49

я нажимал и смотрел работу скрипта - и именно его я хотел бы изменить под свои нужды. можно ли доработать скрипт чтобы у меня было 20 popup окон или 30... или больше.

чтобы были они например

popup-box-14
popup-box-24
popup-box-34
popup-box-44
popup-box-54
popup-box-64
popup-box-74
popup-box-84
popup-box-94

-----

и ссответственно как сделать так чтобы не пришлось заранее писать
девять блоков типа

$('body').append('<div class="popup-box" id="popup-box-1"><div class="close">X</div><div class="top"><h2></h2></div><div class="bottom">первое</div></div>');


а как-нибудь, если возможно сделать запись типа
$('body').append('<div class="popup-box" id="popup-box-'+id+'"><div class="close">X</div><div class="top"><h2></h2></div><div class="bottom">первое</div></div>');


у меня их должно быть либо много либо один, но чтобы туда передавался id той ссылки что я нажал

BETEPAH 21.10.2013 19:49

Цитата:

Сообщение от Михаил Мел
я нажимал и смотрел работу скрипта

Если бы нажимали, не говорили бы
Цитата:

Сообщение от Михаил Мел
Вы вывели просто алерт, а не div с соответствующим id.

А это
Цитата:

Сообщение от Михаил Мел
можно ли доработать

Цитата:

Сообщение от Михаил Мел
если возможно сделать запись типа

все возможно и ничего сложного нет
Подумайте, как в этой строке
var id = name[name.length - 1];
получить не один, а два последних символа. Намекну - substr, substring.

Михаил Мел 21.10.2013 20:40

$('body').append('<div class="popup-box" id="popup-box-'+id+'"><div class="close">X</div><div class="top"><h2></h2></div><div class="bottom">первое</div></div>');

- а как записать данное выражение? если оно должно определяться в начале?

BETEPAH 21.10.2013 20:51

Цитата:

Сообщение от Михаил Мел
у меня их должно быть либо много либо один, но чтобы туда передавался id той ссылки что я нажал

вот после того как определили id в этой строчке
var id = name[name.length - 1];
можете делать див с этим id.
Я не могу никак понять, какой смысл в этих манипуляциях с id, если все равно по каждой ссылке свой будет генерироваться. Зачем тогда вообще определять id? Просто создавайте попап в скрипте и показывайте его сразу.

Михаил Мел 21.10.2013 20:56

спасибо за "помощь" буду делать костыли как учили!! ))))

BETEPAH 21.10.2013 21:20

Цитата:

Сообщение от Михаил Мел
спасибо за "помощь"

вот это день у меня сегодня!.. Вы уже второй такой саркастичный. Надо завязывать, похоже, с этим альтруизмом. Следующая помощь - платная.
Неужели, чтоб перенести две строчки в коде, надо грузчика нанимать?
Держите помощь: http://learn.javascript.ru/play/WQhou

Михаил Мел 21.10.2013 21:39

да дело не в этом, не в сарказме. вы не обижайтесь пожалуйста. Я начинающий, поэтому спрашиваю. Так бы лазил и искал по форумам если б хотел найти готовое решение.

Если сложно подсказать или направить (нет времени или желания например) то так и говорите - ИДИ ЧИТАЙ - ВОТ МАНУАЛ. и все ))

и ваш код работает некорректно. можно 100 попапов открыть с одним id.
и в этом случае не работает
$('.close').click(function() { 
		var scrollPos = $(window).scrollTop();
		/* Similarly, hide the popup and blackout when the user clicks close */
		$('[id^=popup-box-]').hide(); 
		$('#blackout').hide(); 
		$("html,body").css("overflow","auto");
		$('html').scrollTop(scrollPos);
	});


Я тоже людей обучаю, правда не программированию. Я им не говорю иди давай, или врачи не говорят "давай не болей".... )))

Еще раз прошу прощения за испорченный день!!!

Михаил Мел 21.10.2013 21:58

администрация, можно топик удалить (он неинформативен) - я решил вопрос по-другому. Спасибо

BETEPAH 21.10.2013 21:58

Цитата:

Сообщение от Михаил Мел
и ваш код работает некорректно. можно 100 попапов открыть с одним id.

в каком из сообщений этой ветки есть требование обратного? Я уже несколько раз писал, что не понимаю смысла этой круговерти, отсюда, видимо, и проблемы в нашем диалоге. Может, если бы оформили песочницу, добавили бы стили, плейсхолдеры, было бы понятнее. А так... Думаю, для обоих нас будет полезнее закончить его.
Цитата:

Сообщение от Михаил Мел
и в этом случае не работает
1 $('.close').click(function() {
2 var scrollPos = $(window).scrollTop();
3 /* Similarly, hide the popup and blackout when the user clicks close */
4 $('[id^=popup-box-]').hide();
5 $('#blackout').hide();
6 $("html,body").css("overflow","auto");
7 $('html').scrollTop(scrollPos);
8 });

Да нет, работает. При клике закрываются все дивы с "popup-box-", как и прописано в изначальном коде


Часовой пояс GMT +3, время: 12:23.