Форум
мне необходимо передать данные свойства каждого элеммента в JS:
Сообщений: 1323 Баллов: 155 Регистрация: 08.04.2010
08.12.2013 20:43:22
ну так echo же обычное
var objects = ymaps.geoQuery(ymaps.geocode(', '));
You must have chaos within you to give birth to a dancing star.
Friedrich Nietzsche
Посетитель
Сообщений: 55 Баллов: 4 Регистрация: 06.11.2012
09.12.2013 08:22:16
var objects = ymaps.geoQuery(ymaps.geocode(', '));
Да, так было бы проще. но у меня несколько элементов и для каждого нужно вывести через foreach к примеру вывести переменные.
В итоге должно получиться так:
.add(ymaps.geocode(‘Челябинск, Салавата Юлаева 19’))
.add(ymaps.geocode(‘Челябинск, Братьев Кашириных 118а’))
.add(ymaps.geocode(‘Челябинск, Мира 37’))
Выше приведен код яндекс карт множественной геолокации. Теперь мне необходимо, что
Пользователь заполняет беллютень -> система автоматически определяет данные на карте, а так же выводить все возможные объекты по всей карте.
В итоге должно получиться так же, вот только данные автоматически должны заполняться из инфоблоков:
Постоянный посетитель
Сообщений: 113 Баллов: 20 Регистрация: 22.10.2009
09.12.2013 13:02:25
А что вам мешает вывести JS код через PHP и FOREACH?
Посетитель
Сообщений: 55 Баллов: 4 Регистрация: 06.11.2012
09.12.2013 13:45:21
Можете помочь конкретным примером?
На данный момент имею JS, на котором я указываю несколько объектов и получаю одну карту со всеми объектами:
Теперь мне необходимо наносить на карту объекты из каталога (есть соответствующие поля при заполнении: город и адрес).
Каким образом используя предлагаемый вариант можно решить мою задачу?
Если не сложно, то помогите мне на моем примере..
За ранее спасибо!
Постоянный посетитель
Сообщений: 113 Баллов: 20 Регистрация: 22.10.2009
09.12.2013 14:36:50
| Цитата |
|---|
| Алексей Федоренко пишет: Если не сложно, то помогите мне на моем примере.. |
Напишите в каком виде у вас хранятся данные город-адрес, если в $arElements в вашем случае хранятся как раз такие пары, то будет примерно так
foreach ($arElements as $arElement) echo "var objects = ymaps.geoQuery(ymaps.geocode('".$arElement["PROPERTIES"]["TOWN"]["VALUE"].", ".$arElement["PROPERTIES"]["STREET"]["VALUE"]."')); ";
Посетитель
Сообщений: 55 Баллов: 4 Регистрация: 06.11.2012
09.12.2013 15:03:58
Это я понимаю, а как разместить их в JS, что бы он работал?
Laravel Как передать переменную PHP в JavaScript
В Laravel мы передаем данные в представление Blade с помощью помощника view .
Передача данных в представления
В маршруте приложения второй аргумент используется для передачи данных для просмотра.
Route::get('/', function () < return view('welcome', ['name' =>'James']); >);
В контроллере также используется помощник представления для передачи данных.
Обозначение «Точка» может использоваться для ссылки на вложенные представления. Разрешение «Ниже», данные будут отображаться на resources/views/admin/permission/show.blade.php
public function show(Permission $permission)
Передать переменную PHP в JavaScript
Но в некоторых случаях вы хотите передать некоторую серверную переменную в JavaScript. Например, требуются некоторые значения для анализа. Мы можем передавать переменные с помощью пакета Transform PHP Vars to JavaScript. Также мы можем обойтись без использования этого пакета.
- 1. Использование рендеринга JSON
- 2. Использование пакета Transform PHP Vars to JavaScript
1. Без пакета: использование рендеринга JSON
В Laravel Rendering JSON будет использоваться для инициализации переменной JavaScript.
Пример
Теперь добавьте данные массива в маршрут приложения. Этот массив page_data нам нужно использовать как JavaScript.
Route::get('/', function () < return view('welcome', ['page_data' =>[ 'title' => 'Home', 'price' => 20 ]]); >);
Добавьте ниже Js::from в приветствии
откройте браузер и проверьте page_data в консоли.

2. Использование пакета Transform PHP Vars to JavaScript
Установить пакет через Composer
composer require laracasts/utilities
Добавьте пакет к провайдеру
'providers' => [ '. ', Laracasts\Utilities\JavaScript\JavaScriptServiceProvider::class, ];
Создайте HomeController и вызовите представление приветствия
'Home', 'price' => 20 ]); return view('welcome'); > >
Кроме того, обновите route/web.php, чтобы вызвать HomeController.
Route::get('/', [HomeController::class, 'index']);
Этот пакет по умолчанию привязывает ваши переменные JavaScript к представлению «нижнего колонтитула». Поэтому создайте пустой блейд-файл нижнего колонтитула и включите его в представление приветствия.
Вы можете изменить вид нижнего колонтитула, опубликовав конфигурацию по умолчанию. Затем обновите значение конфигурации «bind_js_vars_to_this_view» в файле config/javascript.php .
php artisan vendor:publish --provider="Laracasts\Utilities\JavaScript\JavaScriptServiceProvider"

Теперь заголовок и цена доступны для оконного объекта.

Заключение
Используйте пакет Transform PHP Vars to JavaScript, если переменная PHP требуется для JavaScript на большинстве страниц. Если вам нужна одна или две страницы, используйте метод Laravel Rendering JSON.
Если вы знаете какие-либо другие альтернативные методы, поделитесь ими в комментариях.
Спасибо за чтение.
Оставайтесь с нами, чтобы узнать больше!
Как правильно называть переменные
Переменные нужны для хранения информации. Это своеобразная «коробка» для данных с уникальным именем. Туда можно положить любое значение и потом менять его сколько угодно раз. Важно назвать переменные так, чтобы даже через несколько месяцев, понять, что и как обозначается в коде. Разберёмся, как именовать переменные в JavaScript и PHP.
Базовые правила
Без них вы просто не сможете создать переменную.
Называйте переменную по правилам именования языка
В противном случае код будет выдавать ошибку. Обычно название переменной — это сочетание букв латинского алфавита, цифр и символа подчеркивания: _ .
Для создания переменных в JavaScript используют специальные команды: var , let , const . Самый старый способ — команда var . Команды let и const появились относительно недавно в ES2015. Их поддерживают все современные браузеры.
- Переменная с именем age и без значения — var age;
- Переменная с именем maximum со значением «цифра 5» — let maximum = 5;
- Переменная с именем FEED_CAT и значением «строка 25 гр» — const FEED_CAT = «25 гр»;
В PHP переменные создаются с помощью символа доллара в начале имени.
- Переменная с именем age и без значения — $age;
- Переменная с именем maximum со значением «цифра 5» — $maximum = 5;
- Переменная с именем FEED_CAT и значением «строка 25 гр» — $FEED_CAT = «25 гр»;
Все правила вы найдёте в документации к языку: для JavaSrcipt — это MDN; для PHP — php.net.
Не используйте зарезервированные имена
Это имена, которые уже выполняют в языке конкретные функции. Если назвать переменную зарезервированным именем, вы получите синтаксическую ошибку:
var class; let return; const var; // Ошибка в JavaScript
function echo() <>
Примеры зарезервированных имён: var , class , return и export . Полный список вы найдёте документациях для JavaScript и PHP.
Условные правила
Соблюдение этих правил не обязательно. Но они помогут сделать код более понятным для вас самих и других разработчиков.
Понятные имена
Не стоит называть переменные одной буквой, сокращениями, транслитом и просто как придёт в голову. Имя переменной должно кратко описывать её предназначение. Исключения — общепринятые аббревиатуры. Например, счётчики циклов принято называть переменными i , j и k . Кнопку button можно сократить до btn .
Плохо: a , b , var1 , var2 и adsf . Такие имена не несут смысловой нагрузки. Открыв код через некоторое время, вы не поймёте, для чего здесь эта переменная. Придётся вспоминать весь процесс с нуля.
Хорошо: inputBtn , result и onSubmit . Из названия понятно, что тут делает эта переменная.
var a = function(b) < return 2 * Math.PI * b; >var l = a(5); // Непонятно, что это за функция и что мы получим в итоге.
Перепишем код, используя хорошее именование и получим функцию, считающую длину окружности.
var getCircleLength = function(radius) < return 2 * Math.PI * radius; >var length = getCircleLength(5);
Единый стиль написания
Есть два основных принципа написания многословных переменных. Не смешивайте их в одном скрипте:
- Snake_case — для разграничения слов использует нижнее подчеркивание. Принято использовать в PHP. Например: cat_food , maximum_count и on_click_button
- CamelCase — использует заглавную букву. Принято использовать в JavaScript. Например: catFood , maximumCount и onClickButton
Общепринятые подходы
В сообществе устоялись правила, относящиеся к большинству языков. Их нужно знать, чтобы писать код, понятный другим разработчикам. Вот так принято называть переменные в зависимости от содержимого:
- значение — существительное: cat , dog ;
- массив — существительное в множественном числе: cats , dogs ;
- функция — глагол: download , update ;
- класс — существительное с заглавной буквой: Cat , Dog ;
- константа — всё имя пишется заглавными буквами в стиле snake_case: MAXIMUM_FOOD , LIMIT_X ;
- обработчик — имя описывает событие, по которому он вызывается. Как правило, содержит префикс on или постфикс Handler : onButtonClick , formSendHandler .
Использование этих правил сделает ваш код намного понятнее.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
Читать дальше

ChatGPT не справляется
Притворитесь нейросетью и решите 101 задачку по JavaScript как можно быстрее.
- 2 ноября 2023

Знакомство с JavaScript
Теперь, когда вы знаете, как создать структуру веб-страницы с помощью HTML и оформить ее стилями с помощью CSS, пришло время оживить её с помощью JavaScript (JS). JavaScript — это мощный язык программирования, который используется для создания интерактивных и динамических веб-сайтов.
Что такое JavaScript?
JavaScript — это язык сценариев, который позволяет вам создавать динамически обновляемый контент, управлять мультимедиа, анимировать изображения и многое другое. Почти все современные веб-сайты используют JavaScript для улучшения пользовательского опыта.
Подключение JavaScript к веб-странице
Вы можете добавить JavaScript в ваш HTML-документ двумя способами:
Встроенный JavaScript: непосредственно в HTML-документ, в тегах :
Внешний JavaScript: подключение внешнего .js файла к HTML-документу:
Основы синтаксиса JavaScript
JavaScript состоит из инструкций, которые выполняются компьютером. Вот пример простого синтаксиса:
var message = "Привет, мир!"; alert(message);
Переменные
Переменные в JavaScript — это контейнеры для хранения данных. Вы можете думать о них как о ящиках, на которых есть имена. Переменные объявляются с помощью ключевых слов var , let и const .
var name = "Алиса"; // Старый способ объявления переменной let age = 25; // Современный способ объявления переменной const pi = 3.14; // Константа, значение которой нельзя изменить
Функции
Функции — это блоки кода, предназначенные для выполнения конкретной задачи. Они могут принимать параметры и возвращать значение.
function sayHello(name) < alert("Привет, " + name); >sayHello("Мир");
События
События в JavaScript позволяют реагировать на действия пользователя. Например, клик мыши или нажатие клавиши.
document.getElementById("myButton").onclick = function() < alert("Кнопка была нажата!"); >;
Условия и циклы
JavaScript также поддерживает условные операторы и циклы для управления потоком выполнения кода.
if (age > 18) < alert("Вы совершеннолетний!"); >else < alert("Вы ещё не совершеннолетний!"); >for (let i = 0; i
Объекты и массивы
Объекты представляют собой коллекции данных, а массивы позволяют хранить упорядоченные коллекции данных.
let person = < name: "Джон", age: 30 >; let numbers = [1, 2, 3, 4, 5];
Отметим, что JavaScript не просто добавляет интерактивность к вашим веб-страницам, он также вносит логику и динамичность в ваш сайт. И вот почему это возможно.
Объекты Document Object Model (DOM)
DOM (объектная модель документа) — описывает структуру документа и позволяет программам изменять структуру, стиль и содержание веб-страниц. JavaScript может использовать DOM для манипуляции элементами и атрибутами.
document.getElementById("demo").innerHTML = "Привет, DOM!";
Обработка событий
События играют ключевую роль в интерактивности веб-сайтов. JavaScript может отслеживать действия пользователя, такие как клики мышью, нажатия клавиш, перемещения мыши и многие другие.
document.getElementById("myButton").addEventListener("click", function() < alert("Кнопка нажата!"); >);
JSON (JavaScript Object Notation)
JSON — это формат обмена данными, легко читаемый как людьми, так и машинами. В JavaScript вы можете легко преобразовывать объекты в JSON и обратно.
let jsonObject = JSON.stringify(< name: "Джон", age: 30 >); let jsObject = JSON.parse(jsonObject);
Асинхронность
JavaScript часто используется для асинхронных операций, таких как загрузка данных из интернета без перезагрузки страницы. Промисы и асинхронные функции ( async/await ) являются современными способами работы с асинхронным кодом.
fetch('https://api.example.com/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error(error));
Замыкания
Замыкания позволяют функции доступ к переменным из области, в которой она была создана, даже после того как эта область перестала существовать. Это мощная концепция в JavaScript для управления приватностью и состоянием.
function createCounter() < let count = 0; return function() < count += 1; return count; >; > const counter = createCounter(); console.log(counter()); // 1 console.log(counter()); // 2
Современный синтаксис ES6+
Современный JavaScript включает множество улучшений синтаксиса и новых возможностей, таких как стрелочные функции, классы, шаблонные строки и деструктуризация.
// Стрелочная функция const greet = name => `Привет, $!`; // Класс class Person < constructor(name) < this.name = name; >sayHello() < return `Привет, $!`; > > // Деструктуризация const < name, age >= < name: "Джон", age: 30 >;
Подводя итог, JavaScript — это только начало вашего путешествия в создание интерактивных веб-сайтов. Продолжайте изучать и экспериментировать, и вскоре вы сможете создавать сложные веб-приложения.
В следующих статьях мы углубимся в различные аспекты JavaScript, включая современный синтаксис ES6+, асинхронное программирование и работу с фреймворками, такими как React или Vue.
- 1 ноября 2023

Событие onclick в JS на примерах
Интерактивность — ключевой компонент любого современного сайта. И одним из наиболее часто используемых событий для создания интерактивности является событие onclick . В этой статье мы подробно разберёмся, что такое событие onclick , как его использовать и приведем примеры применения.
Событие onclick — это событие JavaScript, которое активируется, когда пользователь кликает на определенный элемент страницы. Это может быть кнопка, ссылка, изображение или любой другой элемент, на который можно нажать.
- 30 октября 2023

Как перевернуть сайт. Самая короткая инструкция
Не представляем, зачем это может понадобиться, но не могли пройти мимо.
Никакой магии. Мы вызываем JavaScript-функцию rotateBody() , которая применяет свойство transform с значением rotate(180deg) к элементу . Когда вы нажмете на кнопку «Перевернуть», всё, что находится внутри будет повернуто на 180 градусов (то есть, встанет вниз головой)
function rotateBody() < document.body.style.transform = 'rotate(180deg)'; >
Но такой код повернёт страницу только один раз. Если нужно, чтобы она возвращалась обратно при втором клике, усложним код:
let isRotated = false; function rotateBody() < if (isRotated) < document.body.style.transform = 'rotate(0deg)'; document.body.style.direction = "ltr"; >else < document.body.style.transform = 'rotate(180deg)'; document.body.style.direction = "rtl"; >isRotated = !isRotated; >
Надеемся, вы прочитали это описание до того, как нажать на кнопку.
- 25 октября 2023

Как узнать геолокацию: Geolocation API
Geolocation API позволяет сайтам запрашивать, а пользователям предоставлять свое местоположение веб-приложениям. Геолокация может использоваться для выбора города в интернет-магазине, отображения пользователя на карте или навигации в ближайший гипермаркет.
Основной метод Geolocation API — getCurrentPosition() , но есть и другие методы и свойства, которые могут пригодиться.
- 16 октября 2023

Что такое localStorage и как им пользоваться
localStorage — это место в браузере пользователя, в котором сайты могут сохранять разные данные. Это как ящик для хранения вещей, которые не исчезнут, даже если вы выключите компьютер или закроете браузер.
До localStorage разработчики часто использовали cookies, но они были не очень удобны: мало места и постоянная передача данных туда-сюда. LocalStorage появился, чтобы сделать процесс более простым и эффективным.
- 12 октября 2023

Случайное число из диапазона
Допустим, вам зачем-то нужно целое случайное число от min до max . Вот сниппет, который поможет:
function getRandomInRange(min, max)
- Math.random () генерирует случайное число между 0 и 1. Например, нам выпало число 0.54 .
- (max — min + 1): определяет количество возможных значений в заданном диапазоне. 10 — 0 + 1 = 11 . Это значит, что у нас есть 11 возможных значений (0, 1, 2, . 10).
- Math.random () * (max — min + 1): умножает случайное число на количество возможных значений: 0.54 * 11 = 5.94 .
- Math.floor (): округляет число вниз до ближайшего целого. Так, Math.floor(5.94) = 5 .
- . + min: смещает диапазон так, чтобы минимальное значение соответствовало min . Но в нашем примере, так как min = 0 , это не изменит результат. Пример: 5 + 0 = 5 .
- Итак, в нашем примере получилось случайное число 5 из диапазона от 0 до 10.
Чтобы протестировать, запустите:
console.log(getRandomInRange(1, 10)); // Тест
- 7 сентября 2023

В чём разница между var и let
Если вы недавно пишете на JavaScript, то наверняка задавались вопросом, чем отличаются var и let , и что выбрать в каждом случае. Объясняем.
var и let — это просто два способа объявить переменную. Вот так:
var x = 10; let y = 20;
Переменная, объявленная через var , доступна только внутри «своей» функции, или глобально, если она была объявлена вне функции.
function myFunction() < var z = 30; console.log(z); // 30 >myFunction(); console.log(z); // ReferenceError
Это может создавать неожиданные ситуации. Допустим, вы создаёте цикл в функции и хотите, чтобы переменная i осталась в этой функции. Если вы используете var , эта переменная «утечёт» за пределы цикла и будет доступна во всей функции.
Переменные, объявленные с помощью let доступны только в пределах блока кода, в котором они были объявлены.
if (true) < let a = 40; console.log(a); // 40 >console.log(a); // ReferenceError
В JavaScript блок кода — это участок кода, заключённый в фигурные скобки <> . Это может быть цикл, код в условном операторе или что-нибудь ещё.
if (true) < let blockScoped = "Я виден только здесь"; console.log(blockScoped); // "Я виден только здесь" >// здесь переменная blockScoped недоступна console.log(blockScoped); // ReferenceError
Если переменная j объявлена в цикле с let , она останется только в этом цикле, и попытка обратиться к ней за его пределами вызовет ошибку.
- 30 августа 2023

Быстрый гайд по if, else, else if в JavaScript
Допустим, вы собираетесь идти на прогулку. Если на улице солнечно, вы возьмёте с собой солнечные очки.
Это можно описать с помощью оператора if .
let weather = "sunny"; if (weather === "sunny")
А если погода не солнечная, а, скажем, дождливая, вы возьмете зонт.
Этот сценарий можно описать с помощью if-else .
let weather = "rainy"; if (weather === "sunny") < console.log("Возьму солнечные очки"); >else
Условный оператор if-else if-else
Теперь представим, что у вас есть несколько вариантов транспорта для дороги на работу: машина, велосипед, общественный транспорт. Выбор будет зависеть от различных условий, например, погоды и времени суток. Логично, что в дождь безопаснее ехать на автобусе, а в хорошую погоду можно прокатиться на машине или велосипеде, если утро и пробки. То есть схема такая:
И всё это очень легко описывается кодом:
let weather = "sunny"; let time = "morning"; if (weather === "rainy") < // если дождь, то только так console.log("Еду на автобусе"); >else if (time === "morning") < // если не дождь и утро console.log("Еду на велике мимо пробок"); >else < // если второе не дождь и не утро console.log("Еду на машине"); >
Ветвление только может показаться сложным, но вообще оно очень логичное, если понять, какие действия после каких условий выполняются. Разберитесь один раз и поймёте на всю жизнь, 100%.
- 30 августа 2023

Как исправить ошибки SyntaxError в JavaScript
Ошибки SyntaxError появляются, если разработчик нарушил правила синтаксиса JavaScript, например, пропустил закрывающую скобку или точку с запятой. Давайте посмотрим, что означает каждая ошибка и в чём может быть проблема.
