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

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

public class AlphaNumericalComparator implements Comparator<String> {
    @Override
    public int compare(String o1, String o2) {
        List<Object> parts1 = partsOf(o1);
        List<Object> parts2 = partsOf(o2);
        while (!parts1.isEmpty() && !parts2.isEmpty()) {
            Object part1 = parts1.remove(0);
            Object part2 = parts2.remove(0);
            int cmp = 0;
            if (part1 instanceof Integer && part2 instanceof Integer) {
                cmp = Integer.compare((Integer)part1, (Integer)part2);
            } else if (part1 instanceof String && part2 instanceof String) {
                cmp = ((String) part1).compareTo((String) part2);
            } else {
                cmp = part1 instanceof String ? 1 : -1; // XXXa > XXX1
            }
            if (cmp != 0) {
                return cmp;
            }
        }
        if (parts1.isEmpty() && parts2.isEmpty()) {
            return 0;
        }
        return parts1.isEmpty() ? -1 : 1;
    }

    private List<Object> partsOf(String s) {
        List<Object> parts = new LinkedList<>();
        int pos0 = 0;
        int pos = 0;
        boolean wasDigit = false;
        while (true) {
            if (pos >= s.length()
                    || Character.isDigit(s.charAt(pos)) != wasDigit) {
                if (pos > pos0) {
                    String part = s.substring(pos0, pos);
                    parts.add(wasDigit? Integer.valueOf(part) : part);
                    pos0 = pos;
                }
                if (pos >= s.length()) {
                    break;
                }
                wasDigit = !wasDigit;
            }
            ++pos;
        }
        return parts;
    }
};

Затем используйте этот компаратор в своем собственном, на Java 8 вы можете просто использовать статические методы компаратора.

0
задан Dani 13 July 2018 в 15:15
поделиться

2 ответа

nvm Я понял это. Для всех заинтересованных я удалил css, который нацелил div id и visibility:hidden; из .preview и вместо этого добавил display: none; z-index: -1; в .preview и использовал этот JS-код:

$(function(){
    $('#preview1').hover(function(){
        $('#preview1-show').show();
    },function(){
        $('#preview1-show').hide();
    });
    $('#preview2').hover(function(){
        $('#preview2-show').show();
    },function(){
        $('#preview2-show').hide();
    });
});

Это не идеальное решение так как я должен настроить таргетинг на каждую отдельную ссылку (у меня есть 13), но она работает именно так, как я хочу. Если у кого-то есть более элегантное решение, поделитесь им.

0
ответ дан Dani 17 August 2018 в 12:31
поделиться

Я бы создавал текст hover

{ 
    background-image: url("image url");
    background-repeat: no-repeat;
    background-position: your position;
}
0
ответ дан Irina Kovalchuk 17 August 2018 в 12:31
поделиться
  • 1
    Я пробовал это, но моя проблема заключается в том, что изображение будет отображаться внутри div, где связанный текст, а не как изображение целиком в фоновом режиме в примере, который я предоставил. – Dani 13 July 2018 в 16:46
  • 2
    @ Дани вы пробовали абсолютное позиционирование, когда: hover? – Irina Kovalchuk 13 July 2018 в 17:02
Другие вопросы по тегам:

Похожие вопросы: