19.03.2019, 14:13
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
А как создать массив, скопировав из контейнера?
|
|
19.03.2019, 14:34
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Просто объявляем массив необходимых значений, зачем вам их копировать из контейнера, он что динамически будет изменяться или что?
<html>
<head>
<meta charset="utf-8">
<style>
.radius {
background: #f0f0f0;
border: 1px solid #999;
width: 420px;
padding: 15px;
margin-bottom: 10px;
border-radius: 50px 0 0 50px;
}
</style>
</head>
<body>
<div id="a" class="radius"><span id="a1">border-radius: 50px 0 0 50px;</span></div>
<button>Next</button>
<script>
var radius = ['50px 0 0 50px', '40px 10px', '13em/3em', '13em 0.5em/1em 0.5em', '8px'], step = 0;
document.querySelector('button').addEventListener('click', function() {
step = ++step % 5;
document.querySelector('#a').style.borderRadius = radius[step];
document.querySelector('#a1').textContent = 'border-radius: ' + radius[step];
})
</script>
</body>
</html>
Последний раз редактировалось laimas, 19.03.2019 в 14:40.
|
|
19.03.2019, 14:57
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
laimas,
просто речь идет не про одну страницу, а про много страниц, и на каждой свой контейнер с кодом, и свой див-демонстратор.
можно див обернуть в button?
|
|
19.03.2019, 15:06
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
|
|
19.03.2019, 15:08
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Блондинка
|
просто речь идет не про одну страницу, а про много страниц
|
Ну так готовьте код на основе таких данных, и которые отдавайте клиенту, а не выдирайте их из текста, это и накладно, и не разумно. Когда либо приходилось сталкиваться с шаблонизаторами? Вот так и у вас должно работать. Например, в базе описаны данные для N страниц - скажем так "Название урока", "Тема урока" и данные для него. В данном случае пять записей со значениями - '50px 0 0 50px', '40px 10px', '13em/3em', '13em 0.5em/1em 0.5em', '8px'.
Запрашивает пользователь этот урок, подключается шаблон этого урока, в который передаются данные из базы для него, где параметры радиуса, это массив. Шаблонизатор помещает эти данные в определенном месте шаблона, а содержание контейнера code выводит в цикле - повторяя ваш div и span, в которые подставляет значения радиусов.
Этот же шаблон имеет и CSS необходимый, и JS код обслуживающий данный урок, в котором var radius данные выводятся как json.
Так это делается, если вы хотите автоматизма.
|
|
19.03.2019, 15:33
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
А нельзя автоматизировать только див-демонстратор, чтобы скрипт просто копировать из контейнера и вставлялась в див?
|
|
19.03.2019, 15:47
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Блондинка
|
чтобы скрипт просто копировать из контейнера и вставлялась в див?
|
Зачем и что он должен копировать? Если не хотите хоть в чем то автоматизировать процесс создания своих страниц, значит пишите код каждой страницы от руки (статические страницы), в которых размещайте сразу и JS код необходимый, и необходимые для него данные.
|
|
19.03.2019, 15:56
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
laimas,
наверное не правильно сформулировала вопрос,
можно ли сделать чтобы скрипт автоматически генерировал массив исходя из содержимого контейнера
|
|
19.03.2019, 16:06
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
А что будут содержать ваши контейнеры и есть ли гарантия того, что контекст копирования можно однозначно определить на любой из ваших страниц, и тем более, что скопированные данные гарантированно подойдут js сценарию на любой из страниц?
Если на странице А, это будет изменение радиуса у div, а на другой это пример о градиентной заливке, то может ли один и то же скрипт найти нужное, если ему не указать конкретно что искать? А если требуется указание, то зачем нагружать сценарий ненужной работой, когда это все сразу можно задать для сценария как данные?
Трудно понимание для вас "динамические страницы", ну так пишите статические, в них все сразу и определяйте, текст поясняющий код пусть так и будет текстом, а CSS, JS, это реальное, что и будет исполняться, без всякого копирования. Ну посмотрите к примеру описание документаций каких либо API, библиотек, там ведь тоже описаны методы, которые могут содержать и html разметку, но никому в голову не придет копировать это описание для реального выполнения. Это все отдельно - реальным кодом.
|
|
19.03.2019, 16:48
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
Сообщение от laimas
|
Если на странице А, это будет изменение радиуса у div, а на другой это пример о градиентной заливке, то может ли один и то же скрипт найти нужное, если ему не указать конкретно что искать?
|
так я вручную и буду указывать, и на каждой странице свой скрипт будет, только какую-то часть этой ручной работы хочу переложить на скрипт, а именно создание массива, тоесть прошу дать не скрипт универсальный для всех страниц, а шаблон скрипта который по максимуму сможет автоматизировать мою ручную работу
|
|
|
|