Axure任意方向鼠標拖拽框選

4 評論 3455 瀏覽 4 收藏 7 分鐘

拖拽框選在網(wǎng)頁設(shè)計和開發(fā)中非常實用,在各種應(yīng)用場景中都有著廣泛的應(yīng)用。本文作者分享了如何在Axure內(nèi)實現(xiàn)任意方向鼠標拖拽框選的效果,一起來看一下吧。

拖拽框選是現(xiàn)代應(yīng)用程序中經(jīng)常使用的功能之一,比如原型制作時常見的實際應(yīng)用:

  • 圖片框選:拖拽框選可以用于網(wǎng)頁中的圖片操作,用戶可以通過鼠標拖動實現(xiàn)對圖片的裁剪或者放大。
  • 表格選擇:當需要對中繼器中的表格進行操作時,通過拖拽框選可以快速地選擇多行或多列,甚至進行一定程度的計算。
  • 畫板應(yīng)用:拖拽框選可以用于在線畫板應(yīng)用,用戶可以通過鼠標拖動繪制出一個矩形。
  • 地圖選擇:在網(wǎng)頁中的地圖應(yīng)用中,用戶可以使用拖拽框選來選擇一個區(qū)域,以查看該區(qū)域的詳細信息或執(zhí)行其他操作。

總之,拖拽框選在網(wǎng)頁設(shè)計和開發(fā)中非常實用,在各種應(yīng)用場景中都有著廣泛的應(yīng)用。它可以提高用戶體驗、方便用戶的操作、簡化操作流程,同時也可以增強原型的交互性和可用性,是實現(xiàn)各種應(yīng)用程序的重要功能之一。

一、演示

先來看下演示吧:

二、分析

在電腦上,拖拽選取操作是通過鼠標來捕捉用戶的手勢,在拖拽操作中,用戶首先點擊并按住鼠標左鍵,然后移動鼠標,直到所需選取的區(qū)域被框選完成,最后松開鼠標左鍵或手指即可完成選取操作。

那么這個矩形區(qū)域應(yīng)該是由用戶開始點擊的點和結(jié)束拖拽的點所構(gòu)成的矩形,這樣我們就知道了,這個矩形的寬度應(yīng)該為鼠標橫向移動距離,高度應(yīng)該為縱向移動距離。

但是用戶不可能總是從左上向右下選取,那么我們需要分別分析,雖然頁面里縱坐標向下為正,但我們用數(shù)學上的象限進行分類:

  • 先分析上圖,當框選矩形位于第四象限時,矩形的左上角就起始點(x:0, y:0)。
  • 當矩形位于第一象限時,矩形的左上角應(yīng)該向上移一個矩形的高度(x:0, y:-height)。
  • 當矩形位于第三象限時,矩形應(yīng)該向左移一個矩形的寬度(x:-width, y:0)。
  • 最麻煩是當矩形位于第二象限時,應(yīng)該同時向上移一個矩形的高度,并且向左移一個矩形的寬度(x:-width, y:-height)。

三、教程

思路已經(jīng)理清楚,我們可以動手做原型了。

先建兩個全局變量,叫dragStartXdragStartY,用來記錄鼠標按下時的坐標。

放一個顯示用的矩形,寬度高度必須大于2×2,邊框的顏色重一些,填充的顏色淺一些,并且透明度50%,依個人喜好配置就行,默認調(diào)色板的第2行和第4行就挺好。配置好后將矩形設(shè)為隱藏。

建兩個交互,一個是“旋轉(zhuǎn)時”可以在鼠標按下時進行一些初始化設(shè)置。

一個是“尺寸改變時”用來自動更新矩形的左上角的坐標,前面分析過了,可以用四個If/Else分別判斷四個象限。

會用Axure函數(shù)的這里也可以用Math.min進行優(yōu)化,注:下圖功能同上圖,選其一即可。

在矩形上點右鍵“轉(zhuǎn)換為動態(tài)面板”,先建一個“加載時”交互,讓動態(tài)面板的寬度更改為[[Window.Width]]高度更改為[[Window. Height]]。這樣可操作的區(qū)域就比較大了。

建一個“拖動開始時”交互,去觸發(fā)矩形的“旋轉(zhuǎn)時”。

再建一個“拖動時”交互,實時更改矩形的尺寸為[[Math.abs(TotalDragX)]][[Math.abs(TotalDragY)]], 因為我們已經(jīng)設(shè)置過矩形的“尺寸改變時”所以這里就無需考慮它的移動了,最后建一個“拖動結(jié)束時”交互,這里可以根據(jù)自身需要讓矩形保留或隱藏(測試看效果時推薦保留顯示)。

好了,一個可以任意方向托拽的框選功能就做好了??纯葱Ч?/p>

實踐應(yīng)用

我在 《Axure中繼器全選操作的“半選中狀態(tài)”及框選》 文章里介紹了一個框選效果的基本應(yīng)用,詳見:

http://www.aharts.cn/rp/5826959.html

最后

有進一步興趣的還可以再加入其他的交互功能,比如“按住Shift鍵”進行增選功能等。會元件“接觸”判斷的朋友,就可以實現(xiàn)中繼器的多選、數(shù)據(jù)統(tǒng)計等操作。

本文由 @Jorkin 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Unsplash,基于 CC0 協(xié)議

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 跟著做了,預覽沒有拖拽效果

    來自江蘇 回復
    1. 注意一下細節(jié), 特別是函數(shù)相關(guān)部分,有時大小寫,括號都有可能引起錯誤。
      如果一直找不到問題,或者可以新建一頁重做一遍。

      來自上海 回復
  2. 感謝樓主,能不能放個demo下載鏈接

    來自湖北 回復
    1. 來自上海 回復