Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
1 / 1 / 1
Регистрация: 29.06.2013
Сообщений: 78

Перемещение по экрану и масштабирование

14.09.2015, 09:44. Показов 3103. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С помощью мыши передвигаем элемент, собственно проблема в масштабировании этого же элемента. У меня получается, что при попытке изменить размеры элемента, срабатывает всегда "перемещение". Как можно решить данную проблему?
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="WebApplication8._Default" %>
 
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<style> 
div {
    resize: both;
    overflow: auto;
}
</style>
<table id="pic">
         <tr>   
            <td>
            fpffppfpfpfpfppffppf
            </td>
            </tr>
            <tr>
            <td>
      <div>
   6786868686
   </div>
  </td>
        </tr>
  </table>
<script type="text/javascript" id="  pic.ondragstart = function () {
            return false;
        };">
    var pic = document.getElementById('pic');
 
    pic.onmousedown = function (e) { 
 
    
        pic.style.position = 'absolute';
        moveAt(e);
     
        document.body.appendChild(pic);
 
       pic.style.zIndex = 1000; 
 
  
        function moveAt(e) {
            pic.style.left = e.pageX - pic.offsetWidth / 2 + 'px';
            pic.style.top = e.pageY - pic.offsetHeight / 2 + 'px';
        }
 
 
        document.onmousemove = function (e) {
            moveAt(e);
        }
 
    
        pic.onmouseup = function () {
            document.onmousemove = null;
            pic.onmouseup = null;
        }
        pic.ondragstart = function () {
            return false;
        };
    }
</script>
 
 
</asp:Content>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.09.2015, 09:44
Ответы с готовыми решениями:

Перемещение по экрану
Как сделать так, чтобы во время работы программы, каждые 2 секунды менялось ее положение. у меня Visual studio 2008

Перемещение курсора по экрану
необходимо перемещать курсор по экрану. программу я написала, но может можно как то с помощью цикла организовать это: data segment ...

Перемещение изображения по экрану
господа подскажите если я напишу вот так InvalidateRect(hwnd,NULL,TRUE)или вот так-InvalidateRect(hwnd,NULL,FALSE)экран мерцает,но это и...

11
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
14.09.2015, 10:47
Отлавливай не onmouse..., а ondrag...
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.09.2015, 15:08
AnatDenis, знаете, могу сказать так, когда я делал свои окна(правда они до сих пор в виде проекта), я просто посмотрел на окна моей винды, и понял, что действие, которое должно происходить, она(винда) определяет по координатам относительно элемента перетаскивания, короче у меня получился достаточно большой скрипт, могу конечно выложить и вы посмотрите, но там само определение разбросанно по всему скрипту

Добавлено через 56 секунд
Цитата Сообщение от mytilus Посмотреть сообщение
не onmouse..., а ondrag...
насколько мне известно на элементы, у которых не поставлен атрибут dragabble это событие не срабатывает
0
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
14.09.2015, 16:29
Цитата Сообщение от BANO Посмотреть сообщение
на элементы, у которых не поставлен атрибут dragabble это событие не срабатывает
Думается, указать атрибут - не проблема.
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.09.2015, 20:49
mytilus, только тогда сразу до черта проблем поязвляется, поскольку блок будет двигаться и скидываться куда угодно, где есть обработчик дропа
короче говоря тот drag&drop, который реализован средствами браузере по факту нужен для другого, для имитации перемещения файлов или элементов, но по факту ничего не даёт, просто даёт стандарты=ный для браузера эффект перетаскивания
0
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
16.09.2015, 00:39
Если речь идет о гриде элемента в нижнем правом углу, то проблем с позицией курсора мыши будет не меньше, ибо этот грид рисуется каждым браузером по-своему.
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
16.09.2015, 08:13
mytilus, а в курсов разве нельзя поставить свой рисунок grid?
по-моему url уже давно поддерживается

Добавлено через 58 секунд
да и чем вам не нравится дефалтовый для юзера грид? он может не поймёт что это грид, если мы его под себя делать будем
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
16.09.2015, 09:11
BANO, коллега mytilus, имхо, имел в виду, что попытка "определить позицию курсора на контейнере и, если курсор попадает в площадь "грида", то функцию перетаскивания по mousedown отключить" вряд ли будет успешной из-за того, что "гриды" в разных браузерах разные по размерам

насчёт "своего" рисунка для "грида" (или для курсора) коллега mytilus совсем ничего не писал, это вы неверно его поняли
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
16.09.2015, 19:14
Цитата Сообщение от kalabuni Посмотреть сообщение
"гриды" в разных браузерах разные по размерам
вот моё решение этой проблемы
Цитата Сообщение от BANO Посмотреть сообщение
поставить свой рисунок grid
Добавлено через 1 минуту
так, мне кажется я запутался в терминах
grid - вид курсора со стрелками вверх и вниз, обычно обозначающий перемежение или ресайз
так я понял или нет?
0
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
17.09.2015, 09:31
Нет, grid - область в нижнем правом углу элемента, которую можно захватить мышью и потянуть для изменения размеров этого элемента.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
17.09.2015, 09:44
механизм реализации свойства стиля resize, имхо, находится вне пределов динамической объектной модели документа, поэтому ни отследить его работу, ни воздействовать на этот механизм средствами яваскрипта нельзя

отсюда вывод: в данном конкретном случае следует
-- либо отказаться от использования свойства стиля resize и реализовать изменение размеров контейнера DOM-методами
-- либо создать в контейнере специальную зону захвата мышкой для последующего перемещения контейнера (по типу конструкции окон в windows, когда перемещать окно можно используя "захват мышкой" только в области заголовка окна
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
17.09.2015, 21:41
Цитата Сообщение от kalabuni Посмотреть сообщение
создать в контейнере специальную зону захвата мышкой для последующего перемещения контейнера
я вот этот пример выбрал

могу сюда скинуть проект с моими окошками, как пример реализации этого метода, но там всё - говнокод, поскольку я не рассчитывал, что кто-то его будет смотреть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.09.2015, 21:41
Помогаю со студенческими работами здесь

Перемещение формы по экрану
Есть две формы: Form1 и Form2. Нужно, чтобы при перемещении Form1 по экрану Form2 перемещалась вместе с ней. Никак не могу понять какое...

Перемещение жучка по экрану
1)В центре экрана сидит &quot;жучок&quot;, который может перемещаться по прямой на указанное расстояние и поворачивать направо и налево на заданный...

Перемещение окружности по экрану
окружность радиуса R перемещается на экране справа налево, по достижению ею середины экрана она делится на два равных сектора. первый...

Перемещение текста по экрану
На экране есть 20 строк, в каждой строке по 60 символов(все залито опреденным цветом TextColor и TextBackGround), программа в текстовом...

Proteus. Перемещение по экрану
Всем добрый день. Решил задать этот вопрос именно в этой ветки, потому что, эта программа популярна среди людей работающих с МК. В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru