Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

Открыть новую тему     Написать ответ в эту тему

Sanatory



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
просто создается слепок существующего DOM и над копией проводятся нужные операции.
ничем не отличается от обычного. ну разве что не отображается.

 
Мне бы не хотелось, чтобы срабатывали скрипты из <head>, грузились стили и т. п.
Собственно для этого я и использовал window.stop(). Смысл мне загружать DOM, потом заморачиваться с его копией, если я могу "править по-живому" уже тогда?
 
Основной задачей было снизить время загрузки страницы путём отсечения всего лишнего. Плюс, надо вывести сразу все комментарии, которые сайт подгружает аякс-запросами и прочее в том же духе.

Всего записей: 89 | Зарегистр. 21-04-2010 | Отправлено: 23:59 25-06-2019
sem88

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
<select id="uslug"  onchange='Calc()' />
    <option value=""> </option>
    <option value="сделать 1" >сделать 1</option>
    <option value="сделать 2" >сделать 2</option>
 </select>
 
 
 
<script type="text/javascript">
function Calc() {
 
var t=+document.getElementById('uslug').value
if  (t == 'сделать 1') {t = 400};
if  (t == 'сделать 2') {t = 500};
document.getElementById('price').value=t+0
 
    }
 
</script>
 
 <input  class="price" type='text' id='price' />
 
 
Почему не работает? Не выводит сумму? Пишет NaN

Всего записей: 89 | Зарегистр. 13-04-2007 | Отправлено: 15:44 03-07-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sem88

Цитата:
document.getElementById('uslug').value
?
 
код:

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 16:27 03-07-2019 | Исправлено: VVL99, 17:21 03-07-2019
sem88

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
спасибо за ответ. но к сожалению аналогичный  вариант уже был,  пришлось отказаться.  нужно  сохранить  value="сделать 1" Т.к. это фрагмент формы передаются на сервер, и нужно понимать, чтобы было выбрано.

Всего записей: 89 | Зарегистр. 13-04-2007 | Отправлено: 17:15 03-07-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sem88
что сделать то пытаетесь? ибо сейчас это несколько не имеет смысла

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 17:15 03-07-2019
sem88

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
клиент выбирает из списка услугу, например "сделать 1",  внизу появляется сумма.   Нажимает отправить, на сервер должна прийти что именно он заказал "сделать 1"

Всего записей: 89 | Зарегистр. 13-04-2007 | Отправлено: 17:23 03-07-2019 | Исправлено: sem88, 17:23 03-07-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sem88

Код:
<select id="uslug"  onchange='document.getElementById("price").innerHTML = this.value; document.getElementById("selected").value = this.selectedIndex'>  
    <option value="0"> </option>  
    <option value="400" >сделать 1</option>  
    <option value="500" >сделать 2</option>  
 </select>  
 <input type='hidden' name='selected' id='selected'/>
 <div class='price' id='price'></div>

цену отображаем отдельно, а выбранный индекс в невидимое поле, которое и отправится с формой.  
считать цену нужно на сервере, так как если оставлять ту, что приходит из формы, ее можно подделать.

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 18:03 03-07-2019 | Исправлено: Mavrikii, 18:07 03-07-2019
sem88

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо за решение. Но мне интересно, почему мой вариант не заработал?

Всего записей: 89 | Зарегистр. 13-04-2007 | Отправлено: 09:12 04-07-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sem88

Цитата:
почему мой вариант не заработал?

потому что  

Код:
var t=+document.getElementById('uslug').value  

есть

Код:
var t= t +document.getElementById('uslug').value

а изначально t не определена

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 21:00 04-07-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sem88 (пост)
Цитата:
Но мне интересно, почему мой вариант не заработал?
А это -  
VVL99 (пост)
Цитата:
sem88  


Цитата:
 document.getElementById('uslug').value  
 ?  
разве не ответ?
 
Может непонятно, что означает знак вопроса? Скорее всего хотят узнать чему равно это выражение, может вы не умеете проверять, это делается так:

Код:
function Calc() {  
      var t=+document.getElementById('uslug').value;
      console.log("t: ", t, "\nvalue: ", document.getElementById('uslug').value)
}


Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 21:52 04-07-2019
VadKomarov



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте. Извиняюсь, просто не знал куда ещё написать вопрос.
Подскажите знатоки.
Есть страница Ссылка и вроде всё ни чего и работает, но если взять и скопировать код этой страницы

Код:
 
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Примеры. Добавление элементов управления.</title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <script src="https://api-maps.yandex.ru/1.1/index.xml" type="text/javascript"></script>
    <script type="text/javascript">
        // Создание обработчика для события window.onLoad
        YMaps.jQuery(function () {
            // Создание экземпляра карты и его привязка к созданному контейнеру
            var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);
 
            // Установка для карты ее центра и масштаба
            map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);
 
            // Добавление элементов управления
            map.addControl(new YMaps.TypeControl());
            map.addControl(new YMaps.ToolBar());
            map.addControl(new YMaps.Zoom());
            map.addControl(new YMaps.MiniMap());
            map.addControl(new YMaps.ScaleLine());
            map.addControl(new YMaps.SearchControl());
        });
    </script>
</head>
 
<body>
    <div id="YMapsID" style="width:600px;height:400px"></div>
</body>
 
</html>
 

и сохранить в какой нибудь файл, к примеру 1.html и открыть его.
Возникает проблема в поиске, подскажите почему поиск на сайте (в интернете) работает а при сохраненной страничке, ни как
Заранее спасибо за ответ.

Всего записей: 100 | Зарегистр. 01-05-2005 | Отправлено: 15:10 24-07-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VadKomarov

Цитата:
ни как

открываем консоль разработчика в браузере (F12), читаем лог ошибок.

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 20:03 24-07-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
открываем консоль разработчика в браузере (F12), читаем лог ошибок.  
Я бы даже сказал, закладку нетворк в консоли и смотрим куда отправляются запросы поиска (видимо веб страница с js и сервер со всякими php это не одно и тоже).
 
 
Добавлено:
 

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 20:11 24-07-2019 | Исправлено: VVL99, 20:15 24-07-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
Я бы даже сказал, закладку нетворк в консоли и смотрим куда отправляются запросы поиска

лог ошибок расскажет и об этой проблеме, если будет.
но проблема, скорее всего, в том, что открывается, видимо, файл с диска. с сервера все ОК - https://jsfiddle.net/7a6ypuo0/

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 20:20 24-07-2019 | Исправлено: Mavrikii, 20:22 24-07-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
http://vvl99.narod.ru/primery-dobavlenie_ehlementov_upravlenija..html
Тогда получается надо в скриптах искать локальные пути и указать полный путь к серверу?

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 20:41 24-07-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
Тогда получается надо в скриптах искать локальные пути и указать полный путь к серверу?

не нужно, в API уже прописан правильный путь.
скорее всего защита сервера, так как он возвращает ошибку 429 при запросе.
а смотрит, скорее всего, просто по рефералу.

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 20:43 24-07-2019 | Исправлено: Mavrikii, 20:44 24-07-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Хотя может это и ни к чему, без сервера всё равно же не обойтись, карта то подгружается с него.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 20:50 24-07-2019
Weinaum



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую, полагаю, что вопрос все же больше по js, но если ошибаюсь, то сорри.
 
Дано, есть сайт на  Magento2 , на странице продукта табы для описания, характеристик и тд.  
Один из табов, конкретно тот что с характеристиками - Mehr Informationen - содержит довольно много данных, сильно больше соседних табов. Если после этого таба кликнуть на любой соседний таб, то происходит скачок на позицию начала контента данного таба, при этом скрывается сам таб с названием.  
Если контент этого таба сделать меньше, то скачка не происходит, но тут еще смешно другое:  
 на стандартной Magento2 теме - а именно стандартная тема является родительской для актуальной - с этими табами такой проблемы не происходит - при любой длине таба и при любых переключениях сами табы остаются в зоне видимости. При определенном позиционировании некоторые изменения позиций происходят, но они не так критичны.  
Возможно, коллеги где то перемудрили что теперь сами не найдут где, и я уже не первый день не могу найти причину.  
Подсказали, что дело может быть в bootstrap, если точнее, то в его обработчике событии. Стандартные темы идут без bs, а тут добавили. Ну там долгая история, почему и зачем, но удалить его, даже js только, не получится скорее всего.  
Поэтому, если дело в этом, хотелось бы знать, где обработка этого события прописана и можно ли ее без удаления bs переписать, и если да то как?
Спасибо.

Всего записей: 2155 | Зарегистр. 18-06-2006 | Отправлено: 22:14 24-07-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Weinaum
Количество обработчиков клика по табу в оригинальной теме
   
Количество обработчиков клика по табу у вас
   
как то сомнительно, что хочется ковыряться в этом ища причину скролла
 
проблема же возникает в collapsible.min.js
когда активируется таб

Код:
        activate: function() {
            if (this.options.disabled) {
                return;
            }
            if (this.options.animate) {
                this._animate(showProps);
            } else {
               if (this.content.length) {
                    this._scrollToTopIfVisible(this.content.get(0).parentElement);
                }

                this.content.show();
            }
            this._open();
        },

идет проверка виден ли контент и если да, то страница под него прокручивается

Код:
        _scrollToTopIfVisible: function(elem) {
            if (this._isElementOutOfViewport(elem)) {
                elem.scrollIntoView();
            }
        },

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 22:57 24-07-2019 | Исправлено: Mavrikii, 23:06 24-07-2019
Weinaum



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Спасибо, сейчас смотрю.
Вроде бы этот collapsible.min.js не связан напрямую с табами? Я его в стандартной теме не нашел.  
Сейчас его просто отключим и посмотрим, как будет себя вести.

Всего записей: 2155 | Зарегистр. 18-06-2006 | Отправлено: 08:58 25-07-2019
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru