|
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 17
|
|
Передать данные в модальное окно09.08.2017, 16:44. Показов 8789. Ответов 6
Метки нет (Все метки)
Всем хорошего дня!
Помогите пожалуйста в решении задачи. Есть на сайте выведенные flex новостные сообщения (на главной выводим только картинку и заголовок, остальные данные делает hidden ): <div class="flex"> <div class="flexitem"></div> <script><div class="modal">function abc () {</script> Картинка Заголовок Полный текст сообщения</div> Задача у меня в том, что нужно в модальном окне показать по клику новость полностью (вместе с полным текстом и т.д.). Как правильно найти и получить тексты окружающего, именно нужного Item, после клика на конкретный заголовок. То есть я нашел много способов открыть модальные окна, но как правильно получить в SCRIPT данные div-ов окружения нужного Заголовка? (можно ли это получить используя class элементов, или только по id) Конечно про передачу "переменных" во множестве в инете, но так толком не смог именно с передачей данных в скрипт найти) Подскажите пожалуйста - как можно решить данную задачу! Добавлено через 1 час 53 минуты C id решение изучил))) можно находить и присваивать <div class="flexitem" id="1"> <div class="itemimg"> <img src="URL" alt="альтернативный текст"> </div> <div class="itemtitle"> <a class="title" onclick="abc('1')">Заголовок 2</a> </div> <div class="itemtext"> Полный текст сообщения </div> </div> получаем в скрипт номер id в new: <script> function abc (new) { ищем в коллекции нужный flexItem по id: var test = document.getElementById(new); далее уже в нем (его коллекции тегов) можно найти все нужное и присвоить переменной: $a=test.getElementsByTagName("div")[1].innerText; и т.д. } </script> НО вопрос остается как все сделать изящнее))) то есть найти фокус -где кликал и взять содержание окружающих тегов??? и далее все это "затолкать и показать" в модальном окне (классном-преклассном))) Добавлено через 23 минуты тут немного надо уточнить))) в коллекции по id 3 div-а [0,1,2] можно также добраться до текста заголовка в теге a: $a=test.getElementsByTagName("div")[1].getElementsByTagName("a")[0].innerText; Кстати id я присваиваю в Laravel динамически (может быть любой строкой): берем уникальное значение названия для id: <div class="flexitem" id="{{ $item['title'] }}" и это же передаем в функцию <a onclick="abc('{{ $item['title'] }}')"........ function abc (new) { var eml = document.getElementById(new); ....... } Добавлено через 22 часа 31 минуту Всем хорошего дня! Вот и вторую часть задачи в общем и целом решил) Не хотел идти путем "лишних" GET или "POST" запросов при передаче, посмотрел в интернете варианты и сделал так: - взял "базовый и простой" вариант модального окна на http://dontforget.pro/javascri... -plaginov/ стили, форму и т.д. наложил свои конечно) если кому нужен будет скролл на окне не забываем в CSS окна вставить: overflow: auto; -в коде модального окна присваиваем id нужным элементам (могут быть любые - не только div) <div class="itemtitle" id="itemtitle"> <a class="title" onclick="abc('1')">Заголовок 2</a> </div> <div class="itemtext" id="itemtex"> Полный текст сообщения </div> </div> - в скрипте: <script> function abc (new, new2) { ищем в коллекции нужный flexItem по id: var test = document.getElementById(new); далее уже в нем (его коллекции тегов) можно найти все нужное и присвоить переменной: $a=test.getElementsByTagName("div")[1].innerText; и т.д. просто передаем данные нужной сформированной переменной по id окна!): $('#itemtext').text(a); можно передать исполняемое $('#itemtext').html(a);[/COLOR] и т.д. и т.п. средствами jscript все передается и по умолчанию показывается строково, поэтому более замороченная задача показать Заголовок как ссылку рабочую: - в коде страницы при клике в функцию передаю нужное: <div class="itemtitle"> <a class="title" onclick="abc('1','link')">Заголовок 2</a> </div> -не стал мудрить и в скрипте просто сформировал нужную исполняемую строку простой конкатенацией))) $a=test.getElementsByTagName("div")[0].getElementsByTagName("a")[0].innerText; var newtitle='<a href="'+new2+'" id="title" class="modaltitle" target="_blank">'+a+'</a>'; и передаем уже ее в окно <p id="title" class="modaltitle"></p> $('#itemtitle').html(newtitle); } </script> далее по необходимым элементам и т.д. подбираю-формирую что необходимо) Возможно это и несколько "на-коленочный" подход) но у меня так работает в среде PHP7-Laravel5.4-OpenServer-Chrome В других браузерах не тестил пока. Может и не зря писал и пригодится кому. Удачи всем во всем!
0
|
|
| 09.08.2017, 16:44 | |
|
Ответы с готовыми решениями:
6
Как передать данные в модальное окно Передать id в модальное окно Модальное окно |
| 09.08.2017, 17:05 | |
|
Не по теме: Лучше бы вы код оформили в специальные теги, а не красненьким подсветили.
0
|
|
|
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 17
|
|
| 09.08.2017, 17:42 [ТС] | |
|
Наверное и лучше было бы)
Но это не рабочий код , а ход решения задачи описал. Пока ждал подсказок от других.... поэтому просто изложил ход решения, который возможно кому-то пригодиться. Профи (особенно по яве) пофыркают конечно!))), но ведь и не помогли же.
0
|
|
| 09.08.2017, 17:51 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 17
|
|
| 09.08.2017, 17:57 [ТС] | |
|
Нвверное так.
НО в самом начале сама задача была написана аккуратно-четко-понятно и без тегов оформления.
0
|
|
|
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 17
|
|||||||||||
| 18.08.2017, 22:53 [ТС] | |||||||||||
|
В продолжение темы!)))
Сделал модальное окно в котором открываю отдельную новость из "Ленты новостей".
- откываешь-открываешь окна и после открытия 7-9 окна начинает проскальзывать ( не видно) overlay и далее модальные окна начинают открываться не с первого "клика" на ссылку, а со второго - третьего... В Chrome и FireFox одинаково))) Выложил для теста на хостинг - эффект такой-же. Есть у кого мысли по этому эффекту?
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 17
|
|
| 20.08.2017, 14:23 [ТС] | |
|
Всем привет)
Я подумал-посмотрел и пришел к выводу, что при тестировании проявляю "чрезмерное рвение". То есть кликаю-открываю окна слишком быстро и эффекты анимации накладываются и начинает глючить особенно overlay. Настроил время открытия-закрытия в анимации и вроде все нормализовалось.
0
|
|
| 20.08.2017, 14:23 | |
|
Помогаю со студенческими работами здесь
7
Модальное окно Модальное окно Модальное окно Модальное окно Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|