|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Не работает js скрипт при <body onLoad="initialize()"> |
|
[решено] Не работает js скрипт при <body onLoad="initialize()">
|
Ветеран Сообщения: 823 |
Профиль | Сайт | Отправить PM | Цитировать Скрипт:
<!-- function dynamicSelect(id1, id2) { // Сперва необходимо проверить поддержку W3C DOM в браузере if (document.getElementById && document.getElementsByTagName) { // Определение переменных, ссылающихся на списки var sel1 = document.getElementById(id1); var sel2 = document.getElementById(id2); // Клонирование динамического списка var clone = sel2.cloneNode(true); // Определение переменных для клонированных элементов списка var clonedOptions = clone.getElementsByTagName("option"); // Вызов функции собирающей вызываемый список refreshDynamicSelectOptions(sel1, sel2, clonedOptions); // При изменении выбранного элемента в первом списке: // вызов функции пересобирающей вызываемый список sel1.onchange = function() { refreshDynamicSelectOptions(sel1, sel2, clonedOptions); } } } // Функция для сборки динамического списка function refreshDynamicSelectOptions(sel1, sel2, clonedOptions) { // Удаление всех элементов динамического списка while (sel2.options.length) { sel2.remove(0); } var pattern1 = /( |^)(select)( |$)/; var pattern2 = new RegExp("( |^)(" + sel1.options[sel1.selectedIndex].value + ")( |$)"); // Перебор клонированных элементов списка for (var i = 0; i < clonedOptions.length; i++) { // Если название класса клонированного option эквивалентно "select" // либо эквивалентно значению option первого списка if (clonedOptions[i].className.match(pattern1) || clonedOptions[i].className.match(pattern2)) { // его нужно клонировать в динамически создаваемый список sel2.appendChild(clonedOptions[i].cloneNode(true)); } } } window.onload = function() { dynamicSelect("A", "B"); dynamicSelect("B", "C"); } //--> Но с ним не работает вышеупомянутый скрипт (( Что делать? |
|
------- Отправлено: 17:16, 01-04-2010 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать initialize() можно перенести в window.onload, на последнее место (хотя можно поэкспериментировать)...
|
Отправлено: 17:29, 01-04-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 823
|
Профиль | Сайт | Отправить PM | Цитировать Да, кстати. функция инициалайз:
<script type="text/javascript"> function initialize() { var latlng = new google.maps.LatLng(50.414527, 30.528978); //var image = 'flag.png'; var myOptions = { zoom: 16, center: latlng, mapTypeId: google.maps.MapTypeId.HYBRID }; var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); //var beachMarker = new google.maps.Marker({ // position: latlng, // map: map, // icon: image //}); } </script> |
------- Отправлено: 17:39, 01-04-2010 | #3 |
Ветеран Сообщения: 823
|
Профиль | Сайт | Отправить PM | Цитировать Да. сработало все.
Добавил <script language="javascript">window.onload = initialize();</script> в конец. Спасибо большое |
------- Отправлено: 19:32, 01-04-2010 | #4 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать я про эту функцию (3 строкой добавить если):
Цитата Artem-Samsung:
|
||
Отправлено: 21:10, 01-04-2010 | #5 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Добрый день! У меня почти такая же проблема, но в виду моей неопытности (разбираться с этим делом я начал только с сегодняшнего утра))) решить самостоятельно мне ее не удалось. Работает только один скрипт из двух (первый выводит пользовательскую Яндекс.карту, второй - выпадающее меню), по одному работают хорошо. Буду очень признателен за помошь!
<script src="http://api-maps.yandex.ru/1.1/index.xml?key=AFPxDEwBAAAAULUMHwIAVKW8xZQxVL0kFj4lHUsAoB2I_gMAAAAAAAAAAAAmdPI7vVsRLfKXb1_JHhJsSRZM4w==" type="text/javascript"></script> <script type="text/javascript">// <![CDATA[ window.onload = function () { var options = { tileUrlTemplate: "http://interaktivecard.com/images/maps/%z/tile-%x-%y.png", controls: { typeControl: true, miniMap: true, toolBar: true, scaleLine: true }, scrollZoomEnabled: false, mapCenter: new YMaps.GeoPoint(33.8674398742517, 44.7531052865182), backgroundMapType: YMaps.MapType.MAP, mapZoom: 14, isTransparent: true, smoothZooming: false, layerKey: "my#layer", mapType: { name: "Схема", textColor: "#000000" }, copyright: "" }, map = new YMaps.Map(document.getElementById("YMapsID")), myData = new YMaps.TileDataSource(options.tileUrlTemplate, options.isTransparent, options.smoothZooming); myData.getTileUrl = function (tile, zoom) { return this.getTileUrlTemplate().replace(/%x/i, tile.x).replace(/%y/i, tile.y).replace(/%z/i, zoom); } var MyLayer = function () { return new YMaps.Layer(myData); } YMaps.Layers.add(options.layerKey, MyLayer); var mapLayers = options.backgroundMapType ? options.backgroundMapType.getLayers() : [], myMapType = new YMaps.MapType(YMaps.jQuery.merge(mapLayers, [ options.layerKey ]), options.mapType.name, { textColor: options.mapType.textColor }); map.setCenter(options.mapCenter, options.mapZoom, myMapType); if (options.copyright) { map.addCopyright(options.copyright); } if (options.controls.typeControl) { map.addControl(new YMaps.TypeControl([ myMapType, YMaps.MapType.MAP, YMaps.MapType.SATELLITE, YMaps.MapType.HYBRID ], [1, 2, 3])); } if (options.controls.miniMap) { map.addControl(new YMaps.MiniMap()); } if (options.controls.toolBar) { map.addControl(new YMaps.ToolBar()); } if (options.scrollZoomEnabled) { map.enableScrollZoom(); } map.addControl(new YMaps.SmallZoom()); // Метка номер один var placemark = new YMaps.Placemark(new YMaps.GeoPoint(33.869136241394116, 44.7623886062664), {style: "default#dpsIcon"}); placemark.name = "ДПС"; // Заголовок балуна placemark.description = "<div>Здесь находится пост ДПС</div>"; // Текст балуна placemark.setBalloonContent('<div style="»text-align:center»" mce_style="»text-align:center»"><b>Пост ДПС</b><br>Здесь находится пост ДПС</div>'); map.addOverlay(placemark); placemark.balloonOpen(); } // ]]></script> <form> <p><span style="font-size: large;"><strong><span style="color: #800000;">Бахчисарай </span></strong></span></p> <p><span style="font-size: small;"><em><span style="color: #800000;"><strong><span style="color: #999999;"><br /></span></strong></span></em></span></p> <p><select id="Country" name="Country"><option value="select">Выберите раздел...</option> <option value="gos">Гос.предприятия</option> <option value="chast">Частные предприятия</option> <!-- <option value="org">Общественные организации</option> --> </select> <select id="City" name="City"><option class="select" value="select">Выберите подраздел...</option> <option class="gos" value="http://interaktivecard.com/component/yandexmaps/map/49.html">Государсвенная и городская структура</option> <option class="gos" value="http://interaktivecard.com/component/yandexmaps/map/50.html">Детские учреждения</option> <option class="gos" value="http://interaktivecard.com/component/yandexmaps/map/51.html">Жилищно-коммунальное хозяйство</option> <option class="gos" value="http://interaktivecard.com/component/yandexmaps/map/52.html">Культура и искусство</option> <option class="gos" value="http://interaktivecard.com/component/yandexmaps/map/53.html">Медицинские учреждения</option> <option class="gos" value="http://interaktivecard.com/component/yandexmaps/map/54.html">Образование и учебные заведения</option> <option class="gos" value="http://interaktivecard.com/component/yandexmaps/map/55.html">НИИ</option> <option class="gos" value="http://interaktivecard.com/component/yandexmaps/map/56.html">Почта, телефон, телеграф</option><option class="gos" value="http://interaktivecard.com/component/yandexmaps/map/57.html">Религиозные организации</option> <option class="gos" value="http://interaktivecard.com/component/yandexmaps/map/58.html">Землепользование</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/59.html">Автомобили, СТО</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/60.html">Агропромышленный комплекс</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/61.html">Безопасность - организации, оборудование</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/62.html">Организации ВЭД</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/63.html">Вторичные ресурсы</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/64.html">Исследование рынка</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/65.html">Компьютеры. Оргтехника</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/66.html">Легкая и текстильная промышленность</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/67.html">Лесная, деревообрабатывающая пром-ть</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/68.html">Мебель, интерьер</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/69.html">Медицинские товары и услуги</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/70.html">Металлы, металлообработка, машиностроение</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/71.html">Оборудование</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/72.html">Общественное питание</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/73.html">Продукты питания: производство, ОПТ, розница</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/74.html">Радиопромышленность</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/75.html">Рекламно-информационная деятельность</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/76.html">Розничные торговые организации</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/77.html">Связь</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/78.html">СМИ</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/79.html">Строительство и материалы</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/80.html">Судостроение, судоремонт</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/81.html">Товары для животных</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/82.html">Товары народного потребления</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/83.html">Торжественные мероприятия</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/84.html">Трудоустройство</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/85.html">Транспорт</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/86.html">Туризм, спорт, отдых</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/87.html">Услуги</option> <option class="chast" value="http://interaktivecard.com/component/yandexmaps/map/88.html">Химическая продукция</option> <!-- <option class="org" value="Minsk">Все остальное</option> <option class="org" value="Bobruisk">...и так далее</option> --> </select> <input onclick="top.location.href = this.form.City.options[this.form.City.selectedIndex].value" type="button" value="Ok" /></p> <p> </p> </form> <script type="text/javascript">// <![CDATA[ function dynamicSelect(id1, id2) { // Сперва необходимо проверить поддержку W3C DOM в браузере if (document.getElementById && document.getElementsByTagName) { // Определение переменных, ссылающихся на списки var sel1 = document.getElementById(id1); var sel2 = document.getElementById(id2); // Клонирование динамического списка var clone = sel2.cloneNode(true); // Определение переменных для клонированных элементов списка var clonedOptions = clone.getElementsByTagName("option"); // Вызов функции собирающей вызываемый список refreshDynamicSelectOptions(sel1, sel2, clonedOptions); // При изменении выбранного элемента в первом списке: // вызов функции пересобирающей вызываемый список sel1.onchange = function() { refreshDynamicSelectOptions(sel1, sel2, clonedOptions); } } } // Функция для сборки динамического списка function refreshDynamicSelectOptions(sel1, sel2, clonedOptions) { // Удаление всех элементов динамического списка while (sel2.options.length) { sel2.remove(0); } var pattern1 = /( |^)(select)( |$)/; var pattern2 = new RegExp("( |^)(" + sel1.options[sel1.selectedIndex].value + ")( |$)"); // Перебор клонированных элементов списка for (var i = 0; i < clonedOptions.length; i++) { // Если название класса клонированного option эквивалентно "select" // либо эквивалентно значению option первого списка if (clonedOptions[i].className.match(pattern1) || clonedOptions[i].className.match(pattern2)) { // его нужно клонировать в динамически создаваемый список sel2.appendChild(clonedOptions[i].cloneNode(true)); } } } // Вызов скрипта при загрузке страницы window.onload = function() { dynamicSelect("Country", "City"); } // ]]></script> |
Отправлено: 18:14, 06-08-2010 | #6 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать второй window.onload перезаписывает первый, поэтому
Цитата Greendumb:
|
|
Отправлено: 18:38, 06-08-2010 | #7 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Спасибо! Вы очень помогли! Сначала не получалось, я просто сильно "расковырял" весь код, а потом отладчик файрфокса мне показал на мои "грехи" - в общем все заработало!!! Еще раз спасибо!!!
|
Последний раз редактировалось Greendumb, 07-08-2010 в 12:09. Отправлено: 00:47, 07-08-2010 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Службы - [решено] Работает ли "Защитник Windows" при отключенном "Центре обеспечения безопасности"? | ~SloNicK~ | Microsoft Windows 7 | 7 | 04-01-2010 13:57 | |
Доступ - Не работает кнопка "Обзор" или "Browse" | volneb | Microsoft Windows 7 | 0 | 21-02-2009 16:56 | |
Интерфейс - [решено] При просмотре папок в "мой компьютер" и "проводнике" каждая новая папка открывается в | mr.R | Microsoft Windows 2000/XP | 14 | 07-08-2008 00:33 | |
Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") | submaster | Microsoft Windows NT/2000/2003 | 5 | 13-09-2006 12:29 | |
Не работает галочка "Уведомлять при ограниченном или отсутствующем подключении" | Beduir | Microsoft Windows 2000/XP | 6 | 03-09-2006 10:43 |
|