21.08.2018, 23:59
|
|
Кандидат Javascript-наук
|
|
Регистрация: 22.07.2018
Сообщений: 123
|
|
Всплывающее окно по id
Подскажите пожалуйста, есть область - это path в svg, их несколько разных, для каждой есть всплывающее окно, но как при наведении прописать, что бы для области открывалось конкретное окно (по уникальному id например), а другое окно, открытое до этого из другой области закрывалось (окна сделаны div).
Последний раз редактировалось NeonMan, 22.08.2018 в 00:32.
|
|
22.08.2018, 00:55
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
NeonMan,
сделайте минимальный макет
|
|
22.08.2018, 11:06
|
|
Кандидат Javascript-наук
|
|
Регистрация: 22.07.2018
Сообщений: 123
|
|
Поступил таким образом:
$('.country').hover (
function() {
$('.country-popup').hide();
$('.country').css('opacity','0');
$(this).css('opacity','1');
var activeCountry = $(this).attr('href');
$(activeCountry).show();
});
Прописал href в path для id каждого из окон, но правильно ли в path прописывать href, может есть какой-то еще способ для такой ситуации, было бы интересно взглянуть
|
|
22.08.2018, 11:40
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
NeonMan,
... ждите телепатов
|
|
22.08.2018, 13:27
|
|
Кандидат Javascript-наук
|
|
Регистрация: 22.07.2018
Сообщений: 123
|
|
))
вот карта с областями, о которой я писал выше, сделал попапы поведение, код который написал, но есть может какой-то еще способ, ради проф интереса, а то мне кажется прописывать href="" в path svg файла не очень корректно
Последний раз редактировалось NeonMan, 22.08.2018 в 22:36.
|
|
22.08.2018, 16:47
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
NeonMan,
можно по индексу тогда никаких id не надо совсем
|
|
22.08.2018, 20:20
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
NeonMan,
$(function() {
var country = $(".country"),
popup = $(".country-popup"),
btn = $(".country-popup-btn");
function hide() {
popup.hide();
country.css("opacity", "0")
}
country.hover(function() {
hide();
$(this).css("opacity", "1");
var activeCountry = country.index(this);
popup.eq(activeCountry).show()
});
btn.click(function(event) {
event.preventDefault();
hide()
})
});
|
|
22.08.2018, 22:35
|
|
Кандидат Javascript-наук
|
|
Регистрация: 22.07.2018
Сообщений: 123
|
|
Интересная конструкция, спасибо
|
|
23.08.2018, 22:10
|
|
Кандидат Javascript-наук
|
|
Регистрация: 22.07.2018
Сообщений: 123
|
|
Подскажите такой момент, есть такая структура
$('#kazan').mouseenter (
function() {
$('.menu-kazan').css('background', '#CEF5FC');
});
$('#kazan').mouseout (
function() {
$('.menu-kazan').css('background', 'none');
});
Это при наведении на один элемент, подсвечивается другой, и когда курсор уходит с элемента, тому присваивается значение background: none, но потом когда уже навожу непосредсвенно на .menu-kazan больше не срабатывает .menu-kazan:hover {background: цвет} из css. Может есть какой-то другой способ в jquery сделать такую операцию?
|
|
23.08.2018, 22:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
NeonMan,
цвет нужен - лучше цвет и менять.
Сообщение от NeonMan
|
Подскажите
|
уберите none из кода и будет вам счастье.
Последний раз редактировалось рони, 23.08.2018 в 22:36.
|
|
|
|