Предотвратить исчезновение div, когда ручка ползунка активна - PullRequest
0 голосов
/ 05 октября 2018

Я не знаю, действительно ли заголовок понятен, но мне нужно запретить моему текущему коду автоматически скрывать div, когда активен ползунок (или когда нажата мышь).

Javascript

Код взят из Арун П Джонни в этой записи.

//trigger the div to appear when mouse enter a specific div class
$(".transparency-open").on({
    mouseenter: function () {
        $($(this).next(".layer-option")).show();
    },
    //Delay the fading of the appeared div
    mouseleave: function () {
        var $target = $(this).next(".layer-option");
        var timer = setTimeout(function () {
            $target.stop(true, true).hide();
        }, 10);
        $target.data('hoverTimer', timer);
    }
});
//Keep the div shown when mouse enters the div containing the layer option div
$(".layer-option").on({
    mouseenter: function () {
        clearTimeout($(this).data('hoverTimer'));
        $(this).stop(true, true).show();
    },
    mouseleave: function () {
        $(this).stop(true, true).hide();
    }
});

HTML

<div id="layer-basemap" class="layer-legend-titles">
    <div id="display-basemap" class="layer-legend-checkbox legend-basemap active">
        <div class="checkbox-symbol"></div>
        <div class="checkbox-label">Basemap</div>
        <div class="transparency-open">></div>
        <div id="option-basemap" class="layer-option undisplayed">
            <div class="opaslider"></div>
        </div>
    </div>
</div>

Я хочузапретите скрывать параметр layer-div, если пользователь использует ползунок.В настоящее время он исчезает всякий раз, когда мышь покидает div.

Я не хочу задерживаться до закрытия div.Я попытался объявить переменную, представляющую, нажата ли мышь или нет, но мне не повезло.Я думаю, мне следует попробовать использовать ручку ползунка и посмотреть, активен он или нет, но тогда я не знаю, что с ним делать.

...