webirus
@webirus
Тыжверстальщик! Наверстай мне упущенное...

Возможно ли изменение размеров Map Area «на лету»?

Есть у меня на сайте простенькая map area.
Два плагина подключено:
1) imagemapster.js - для инициализации мапы
2) imageMapResizer.js - для ресайза карты, оно работает, но только когда уменьшаешь страницу и потом обновляешь.
Можно ли как-то сделать этими средствами обновление ширины и высоты на лету?
  • Вопрос задан
  • 604 просмотра
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Да, возможно.
window.onload = function () {
    var ImageMap = function (map) {
            var n,
                areas = map.getElementsByTagName('area'),
                len = areas.length,
                coords = [],
                previousWidth = 1920;
            for (n = 0; n < len; n++) {
                coords[n] = areas[n].coords.split(',');
            }
            this.resize = function () {
                var n, m, clen,
                    x = document.body.clientWidth / previousWidth;
                for (n = 0; n < len; n++) {
                    clen = coords[n].length;
                    for (m = 0; m < clen; m++) {
                        coords[n][m] *= x;
                    }
                    areas[n].coords = coords[n].join(',');
                }
                previousWidth = document.body.clientWidth;
                return true;
            };
            window.onresize = this.resize;
        },
        imageMap = new ImageMap(document.getElementById('map_ID'));
    imageMap.resize();
}

Демо: jsfiddle.net/p7EyT (кликайте на очки)
© stackoverflow.com/questions/13321067/dynamically-r...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
28 нояб. 2024, в 05:21
2000 руб./за проект
28 нояб. 2024, в 05:18
500 руб./за проект
28 нояб. 2024, в 03:51
3500 руб./за проект