Сообщение от веснушка
|
если не затруднит, подскажите, как сделать так, чтобы этот див появлялся в том месте, где была отпущена кнопка мыши?
|
как то так
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 которого(-ой) повесьте закоментированную функцию