Цитата:
А насчет целесообразности ссылок, попробуйте открыть такой элемент, перейдя на него Tab. Или Shift-(←→↓↑) в опере. Не все же обожают пользоваться мышью. |
Помогите разобраться
Добрый день! У меня такая проблема, но в виду моей неопытности (разбираться с этим делом я начал только с сегодняшнего утра))) решить самостоятельно мне ее не удалось.
<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/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> Работает только один скрипт из двух (первый выводит пользовательскую Яндекс.карту, второй - выпадающее меню), по одному работают хорошо. Буду очень признателен за помошь! Наглядный пример http://interaktivecard.com/bahchisaray.html . Сейчас не работает сортировка списка. |
Часовой пояс GMT +3, время: 20:31. |