Показать сообщение отдельно
  #6 (permalink)  
Старый 17.07.2012, 17:37
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от веснушка Посмотреть сообщение
если не затруднит, подскажите, как сделать так, чтобы этот див появлялся в том месте, где была отпущена кнопка мыши?
как то так
document.onmouseup = function(e) {
            if ( activeImage ) {
 
                var iRect = activeImage.getBoundingClientRect();
                var sRect = activeSelection.getBoundingClientRect();
 
                var shift = shiftScroll();
                var X = ( sRect.left + shift.X < startX ? sRect.left + shift.X : startX ) - iRect.left - shift.X;
                var Y = ( sRect.top + shift.Y < startY ? sRect.top + shift.Y : startY ) - iRect.top - shift.Y;
 
                e = fixEvent( e );
 
                var shift = shiftScroll();
                var rect = activeImage.getBoundingClientRect();
 
                var X1 = Math.max( e.pageX > startX ? startX : e.pageX, rect.left );
                var Y1 = Math.max( e.pageY > startY ? startY : e.pageY, rect.top );
                var W1 = Math.min( Math.abs( Math.max( X, e.pageX ) - startX ), rect.right + shift.X - X );
                var H1 = Math.min( Math.abs( Math.max( Y, e.pageY ) - startY ), rect.bottom + shift.Y - Y );
 
                // тут что-то открываем, делаем
                // ....
                /*alert( [
                    "src: " + activeImage.src + "\n",
                    "X: " + X,
                    "Y: " + Y,
                    "W: " + activeSelection.offsetWidth,
                    "H: " + activeSelection.offsetHeight
                ].join("\n") );*/
		showTxt([
                    "src: " + activeImage.src + "<br>",
                    "X: " + X + "<br>",
                    "Y: " + Y + "<br>",
                    "W: " + activeSelection.offsetWidth + "<br>",
                    "H: " + activeSelection.offsetHeight + "<br>"
                ], X1+W1, Y1+H1);
                // ------------------------------
 
                if ( activeSelection.parentNode ) {
                    activeSelection.parentNode.removeChild( activeSelection );
                    activeSelection.style.width = "0";
                    activeSelection.style.height = "0";
                }
                activeImage = null;
            }
        }


автор скрипта наверняка придумает решение получше...

Сообщение от веснушка Посмотреть сообщение
и такой вопросик: если при клике на этот див у меня должен выпадать список, то это делать внутри функции showText?
не совсем понятна задача...
нужен select внутри div-a? нарисуйте его там
чтобы div не закрывался по нажатию на нем закоментируйте следующую строку
newdiv.onclick = function() { this.style.display = "none"; }

и создайте на div-e кнопку или картинку насобытие onClick которого(-ой) повесьте закоментированную функцию

Последний раз редактировалось lord2kim, 18.07.2012 в 12:58.
Ответить с цитированием