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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

VVL99



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

Код:
document.addEventListener("click", function (e) {
    var a = e.target,
    b = document.querySelector(".lg-hotspot--selected");
    if (b) {
        var c = b.querySelector(".lg-hotspot__label");
        c.style.pointerEvents = "auto";
        if (a != b.querySelector(".lg-hotspot__button") && a.parentNode != c) {
            b.classList.remove("lg-hotspot--selected")
        }
    }
});

Всего записей: 3719 | Зарегистр. 03-02-2011 | Отправлено: 16:32 14-04-2020
Weinaum



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99
спасибо, все работает
upd.
сейчас заметил, если много точек, или они расположены достаточно близко друг к другу, то есть неприятный баг.
Если кликнуть на кнопку, и ее label  перекроет какую то соседнюю кнопку, то последующий клик по этой соседней кнопке пустой.  
пример - https://codepen.io/lagudal/pen/YzXmvvQ
(кликнуть сначала по левой кнопке а потом по правой)
как я понял, это происходит потому, что клик в этом случае приходится не на кнопку, а на label, несмотря на то что label невидим (opacity:0)  
upd2
все решается простой заменой opacity:0 на display:none  
еще раз благодарю

Всего записей: 1985 | Зарегистр. 18-06-2006 | Отправлено: 11:36 15-04-2020 | Исправлено: Weinaum, 14:41 15-04-2020
WONDROUS



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Просьба подсказать, всё ли нормально в этом коде?

Код:
$(document).ready(function(){
 
   $(window).load(function(){        
   $('#modal_start').modal('show');
    });
 
});

Всего записей: 2831 | Зарегистр. 30-06-2002 | Отправлено: 02:12 18-05-2020
Mavrikii

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

Цитата:
всё ли нормально в этом коде?

нет, если нужно событие onload, то $(document).ready (устаревшая запись) вообще не нужен.
сначала идет событие загрузки DOM (до картинок и всего остального) и, как только все на странице загружается, идет событие onload. Его то можно задать сразу, а не в момент загрузки просто HTML кода.

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 04:25 18-05-2020
WONDROUS



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Спасибо за пояснение. Хотел сделать в веб-редакторе открытие модельного окна при загрузке страницы, на базе бутстрап 3. У многих скриптов есть $(document).ready в начале кода, но хоть с ним, хоть без, всё равно не работает, только если в самом редакторе написать в поле для js.

Всего записей: 2831 | Зарегистр. 30-06-2002 | Отправлено: 14:36 18-05-2020
Mavrikii

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

Цитата:
 но хоть с ним, хоть без, всё равно не работает, только если в самом редакторе написать в поле для js

я не знаю что и как делаете.
и выполняется ли вообще ваш код (проверить можно просто сделав в нем alert)

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 22:22 18-05-2020
WONDROUS



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Решил снова попробовать и никак не получается. При подключении jquery и написании так:

Код:
jQuery(document).ready(function($) {
$(window).load(function(){        
$('#modal_start').modal('show');
});
});
 
или так
 
$(function(){
   $(window).load(function(){        
   $('#modal_start').modal('show');
    });
});
 

Выдаёт такую ошибку:

Код:
TypeError: $('#modal_start').modal is not a function. (In '$('#modal_start').modal('show')', '$('#modal_start').modal' is undefined)

Всего записей: 2831 | Зарегистр. 30-06-2002 | Отправлено: 14:46 24-05-2020 | Исправлено: WONDROUS, 14:53 24-05-2020
Mavrikii

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

Цитата:
ыдаёт такую ошибку

В jQuery нет метода .modal, читайте внимательно откуда и что копируете.

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 15:47 24-05-2020
WONDROUS



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Так а что тогда писать? Пересмотрел несколько сайтов разных с примерами, то ready ругается, то на $.

Всего записей: 2831 | Зарегистр. 30-06-2002 | Отправлено: 16:46 24-05-2020
Mavrikii

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

Цитата:
Так а что тогда писать?  

Откуда я знаю что вы хотите написать? Modal нет в jQuery, значит для него нужен сторонний скрипт.
 

Цитата:
то ready ругается, то на $.

Раз ошибка в этой строке, то с этим проблем нет.

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 17:02 24-05-2020
WONDROUS



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Просьба подсказать, на примере, как можно сделать так, чтобы в модальном окне бутстрап 3 работал JS (небольшой счётчик).

Всего записей: 2831 | Зарегистр. 30-06-2002 | Отправлено: 15:45 28-05-2020
Mavrikii

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

Цитата:
чтобы в модальном окне бутстрап

это обычный html, ничем не отличается от счетчика в каком либо ином месте.

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 16:54 28-05-2020
WONDROUS



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

Всего записей: 2831 | Зарегистр. 30-06-2002 | Отправлено: 17:11 28-05-2020
Mavrikii

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

Цитата:
Только он почему-то не работает (не считает)

я не знаю что и как вы написали - https://jsfiddle.net/h04wpLdu/1/ (просто пример для однократного запуска, с каждым новым показом диалога скорость его изменения будет меняться)
 

Цитата:
а при открытии модального окна сразу показывает конечное число

наверняка считает с момента загрузки страницы, а не когда открыт диалог.

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 17:24 28-05-2020 | Исправлено: Mavrikii, 17:26 28-05-2020
WONDROUS



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Спасибо за пример!
 
Да, оказывается работает, просто этот код (чтобы модал не открывалось при каждом открытии страницы) не давал вести отсчёт:

Код:
var modalDate = localStorage.getItem('modalDate'),
    today = new Date();
 
if (modalDate === null || daydiff(modalDate, today) !== 0) {
    
$(window).load(function(){        
   $('#myModal').modal('show');
    });
     
    localStorage.setItem('modalDate', today.toString());
}
 
function daydiff(md, td) {
  if (typeof md === 'string') {
    md = new Date(md);
  }
  return Math.round((td - md) / (1000 * 60 * 60 * 24));
}

Всего записей: 2831 | Зарегистр. 30-06-2002 | Отправлено: 17:45 28-05-2020
WONDROUS



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как можно в этом же счётчике сделать задержку счёта? Попробовал сделать так:

Код:
var delay = 1000;
setTimeout(function() {
 // код счётчика
}, delay);

вроде работает, но тогда цифр не видно заданное время, а хотелось бы, чтобы цифры (тот же 0) были видны.

Всего записей: 2831 | Зарегистр. 30-06-2002 | Отправлено: 21:08 28-05-2020 | Исправлено: WONDROUS, 21:09 28-05-2020
Mavrikii

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

Цитата:
а хотелось бы, чтобы цифры (тот же 0) были видны.

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

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 21:50 28-05-2020
WONDROUS



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

Всего записей: 2831 | Зарегистр. 30-06-2002 | Отправлено: 22:01 28-05-2020
Mavrikii

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

Цитата:
Если бы я в этом ещё понимал и разбирался.

выводим что и где хотим сразу

Код:
<h2 class="timer count-title count-number" data-to="300" data-speed="1500">0</h2>

когда счетчик запустится, он перепишет это значение.

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 22:02 28-05-2020 | Исправлено: Mavrikii, 22:43 28-05-2020
WONDROUS



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

Всего записей: 2831 | Зарегистр. 30-06-2002 | Отправлено: 00:18 29-05-2020
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

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


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru