【原型設(shè)計】百度搜索提示是如何實現(xiàn)的芙委?

百度搜索

當(dāng)我們使用搜索引擎輸入關(guān)鍵詞的時候,搜索引擎會根據(jù)搜索詞模糊匹配推薦一些相關(guān)的內(nèi)容在搜索框的下方顯示狂秦,這里也包含了我們的搜索記錄灌侣。點擊搜索按鈕,搜索引擎就會執(zhí)行搜索裂问,利用爬蟲抓取的網(wǎng)頁侧啼,按照一定的算法返回搜索結(jié)果列表。 那么這樣的原型交互效果堪簿,是否可以通過Axure完成制作了痊乾?這就是今天為大家講解的交互案例,借助中繼器實現(xiàn)百度搜索提示的效果椭更。

本案例的講解適用于具有一定的Axure使用基礎(chǔ)的人員哪审,關(guān)于工具的操作步驟不做詳細(xì)講解。本文講述的重點在于邏輯的梳理以及一些啟發(fā)性的思路與方法虑瀑,希望能夠幫助大家做出更酷炫的交互效果湿滓。


01 準(zhǔn)備元件

本案例中需要用到的元件有文本框、矩形按鈕和中繼器舌狗。文本框用于輸入搜索詞叽奥,這里的類型需要設(shè)置為查找;矩形按鈕可以直接從元件庫中拖拽至搜索框右側(cè)痛侍,并將按鈕中的文字修改為“搜索”朝氓;中繼器用來顯示提示詞列表,即根據(jù)搜索內(nèi)容索引出來的列表恋日,這里需要注意將中繼器轉(zhuǎn)換為動態(tài)面板膀篮,因為動態(tài)面板可以根據(jù)內(nèi)容自動擴(kuò)展尺寸嘹狞,默認(rèn)隱藏動態(tài)面板岂膳。

元件準(zhǔn)備部分重點講解中繼器在本案例中的應(yīng)用,首先為中繼器數(shù)據(jù)集column0這一列預(yù)設(shè)一些內(nèi)容(iphone磅网、iphone7谈截、iphone8、iphone8plus、iphonex簸喂、iphonex價格毙死、iphonex配置、iphonex換屏喻鳄、二手iphonex扼倘、維修iphone),共有10項數(shù)據(jù)內(nèi)容除呵;然后在為中繼器的項設(shè)置一個鼠標(biāo)懸停的交互樣式再菊,填充色設(shè)置為灰色;最后在將中繼器項的邊框顏色去掉颜曾。至此纠拔,中繼器的顯示效果完成了,看上去與百度的效果基本一致泛豪。

02 交互設(shè)置

a 中繼器

這里主要有兩個交互事件稠诲,第一個為中繼器設(shè)置每項加載時事件(注意這里的交互設(shè)置的對象是中繼器不是項)容为,目的是為中繼器的項加載內(nèi)容密浑,在文本設(shè)置中將中繼器項的值設(shè)置為函數(shù)[[Item.Column0]]偿渡;第二個為中繼器的項設(shè)置單擊事件言缤,在文本設(shè)置中將搜索框的值設(shè)置為項的值眨业,即函數(shù)[[this.text]]薪缆,并隱藏中繼器動態(tài)面板烛缔。

加載中繼器的項


將項的值傳遞給文本搜索框

b 文本框

為文本框添加一個文本改變事件怒竿,當(dāng)文本框的內(nèi)容改變時荠雕,我們希望達(dá)到這樣的效果:顯示中繼器動態(tài)面板稳其,移除之前的篩選結(jié)果,重新按照新的搜索詞進(jìn)行索引篩選炸卑。這里需要說明的是添加新的篩選時既鞠,需要設(shè)定一個條件,即當(dāng)中繼器數(shù)據(jù)集中包含搜索的內(nèi)容時盖文,執(zhí)行篩選并顯示出來嘱蛋,需要插入這樣一個函數(shù)[[TargetItem.Column0.indexOf(LVAR1)>-1]]執(zhí)行新的篩選。文本改變事件還需要添加另一個用例case2五续,用例中添加一個條件即如果文本框的內(nèi)容為空洒敏,則執(zhí)行的動作為隱藏中繼器動態(tài)面板,記得將case2切換為if疙驾,case2通常默認(rèn)為else if凶伙。


文本框設(shè)置文本改變事件

c 搜索按鈕

首先需要想清楚,點擊搜索按鈕后我們希望達(dá)到的效果是怎樣的它碎。如果輸入的搜索詞不在中繼器數(shù)據(jù)集里面函荣,這時候我們需要在中繼器數(shù)據(jù)集中添加這一條數(shù)據(jù)显押;再次點擊按鈕,首先移除之前的全部篩選傻挂, 添加新的篩選乘碑,這里的篩選規(guī)則為精確索引。梳理清楚邏輯規(guī)則后金拒,下面我們來看下如何設(shè)置交互事件兽肤。

為搜索按鈕設(shè)置單擊事件,添加第一個用例绪抛,在編輯條件中編輯函數(shù)轿衔,首先將中繼器設(shè)置為局部變量LAVR1,然后插入函數(shù)[[LVAR1.itemCount]](篩選結(jié)果的數(shù)量),在編輯條件中設(shè)置值等于0睦疫,添加動作數(shù)據(jù)集添加行害驹,在添加行到中繼器時,先將文本框定義為局部變量LVAR1蛤育,然后在將這個局部變量添加到行宛官。

添加第二個用例case2,動作設(shè)置中首先移除全部篩選瓦糕,然后在添加新篩選中設(shè)置篩選條件為[[TargetItem.Column0==LVAR1]]底洗。LVAR1為文本框定義的變量,TargetItem.Column0表達(dá)的意思為中繼器數(shù)據(jù)集Column0這一列數(shù)據(jù)咕娄,這里的數(shù)據(jù)包含之前篩選的結(jié)果亥揖。


搜索按鈕設(shè)置單擊事件

篩選結(jié)果的數(shù)量并不等于數(shù)據(jù)集項的數(shù)量,我們可以做個實驗圣勒,添加兩個按鈕费变,一個顯示篩選結(jié)果的數(shù)量,一個顯示數(shù)據(jù)集項的數(shù)量圣贸。在中繼器項的加載事件中添加兩個動作挚歧,設(shè)置兩個按鈕的文本值分別為函數(shù)[[Item.Repeater.itemCount]]和[[Item.Repeater.dataCount]]。(設(shè)置的截圖可參照上文?加載中繼器的項

03 最后的總結(jié)

到此為止吁峻,模擬百度搜索提示的交互效果已經(jīng)完成了滑负,預(yù)覽你的原型,欣賞你辛苦半天的作品吧用含。本案例中的重點在于中繼器的綜合運(yùn)用矮慕,中繼器是Axure7.0版本之后新增加的功能,中繼器可以看做成一個本地的小型數(shù)據(jù)庫啄骇。熟練應(yīng)用以后痴鳄,還可以實現(xiàn)電商列表的篩選,管理后臺的條件查詢或是在線隨機(jī)抽獎等效果肠缔。

本案例的源文件鏈接:https://pan.baidu.com/s/1c2rXauc 密碼:h3ta


?附:中繼器函數(shù)說明

Repeater 用途:中繼器的對象夏跷。Item.Repeater即為Item所在的中繼器對象哼转。

visibleItemCount 用途:中繼器項目列表中可見項的數(shù)量明未。比如:項目列表共有15項槽华,分頁顯示為每頁6項。當(dāng)項目列表在第1趟妥、2頁時猫态,可見項數(shù)量為6;當(dāng)項目列表在第3頁時披摄,可見項數(shù)量為3亲雪。

itemCount 用途:獲取中繼器項目列表的總數(shù)量,或者叫加載項數(shù)量疚膊。默認(rèn)情況下項目列表的總數(shù)量會與中繼器數(shù)據(jù)集中的數(shù)據(jù)行數(shù)量一致义辕,但是,如果進(jìn)行了篩選寓盗,項目列表的總數(shù)量則是篩選后的數(shù)量灌砖,這個數(shù)量不受分頁影響。

dataCount 用途:獲取中繼器數(shù)據(jù)集中數(shù)據(jù)行的總數(shù)量傀蚌。

pageCount 用途:獲取中繼器分頁的總數(shù)量基显,即能夠獲取分頁后共有多少頁。

pageIndex 用途:獲取中繼器項目列表當(dāng)前顯示內(nèi)容的頁碼善炫。

Item 用途:獲取數(shù)據(jù)集一行數(shù)據(jù)的集合撩幽,即數(shù)據(jù)行的對象。

TargetItem 用途:目標(biāo)數(shù)據(jù)行的對象箩艺。

Item.列名 用途:獲取數(shù)據(jù)行中指定列的值窜醉。

index 用途:獲取數(shù)據(jù)行的索引編號,編號起始為1艺谆,由上至下每行遞增1酱虎。

isFirst 用途:判斷數(shù)據(jù)行是否為第1行;如果是第1行擂涛,返回值為“True”读串,否則為“False”。

isLast 用途:判斷數(shù)據(jù)行是否為最末行撒妈;如果是最末行恢暖,返回值為“True”,否則為“False”狰右。

isEven 用途:判斷數(shù)據(jù)行是否為偶數(shù)行杰捂;如果是偶數(shù)行,返回值為“True”棋蚌,否則為“False”嫁佳。

isOdd 用途:判斷數(shù)據(jù)行是否為奇數(shù)行挨队;如果是奇數(shù)行,返回值為“True”蒿往,否則為“False”盛垦。

isMarked 用途:判斷數(shù)據(jù)行是否為被標(biāo)記;如果被標(biāo)記瓤漏,返回值為“True”腾夯,否則為“False”。

isVisible 用途:判斷數(shù)據(jù)行是否為可見行蔬充;如果是可見行蝶俱,返回值為“True”,否則為“False”饥漫。

如果你對Axure或原型設(shè)計有興趣榨呆,希望系統(tǒng)性地學(xué)習(xí)Axure知識,掌握更多Axure使用技巧庸队;或者希望通過臨摹交互案例积蜻,進(jìn)一步提升高保交互設(shè)計能力。請點擊下方關(guān)注按鈕皿哨,查看更多連載作品浅侨。

點擊獲取案例作品源文件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市证膨,隨后出現(xiàn)的幾起案子如输,更是在濱河造成了極大的恐慌,老刑警劉巖央勒,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件不见,死亡現(xiàn)場離奇詭異,居然都是意外死亡崔步,警方通過查閱死者的電腦和手機(jī)稳吮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來井濒,“玉大人灶似,你說我怎么就攤上這事∪鹉悖” “怎么了酪惭?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長者甲。 經(jīng)常有香客問我春感,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任鲫懒,我火速辦了婚禮嫩实,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘窥岩。我一直安慰自己甲献,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布谦秧。 她就那樣靜靜地躺著竟纳,像睡著了一般撵溃。 火紅的嫁衣襯著肌膚如雪疚鲤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天缘挑,我揣著相機(jī)與錄音集歇,去河邊找鬼。 笑死语淘,一個胖子當(dāng)著我的面吹牛诲宇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播惶翻,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼姑蓝,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了吕粗?” 一聲冷哼從身側(cè)響起纺荧,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎颅筋,沒想到半個月后宙暇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡议泵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年占贫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片先口。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡型奥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出碉京,到底是詐尸還是另有隱情厢汹,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布收夸,位于F島的核電站坑匠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏卧惜。R本人自食惡果不足惜厘灼,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一夹纫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧设凹,春花似錦舰讹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至奋姿,卻和暖如春锄开,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背称诗。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工萍悴, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人寓免。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓癣诱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親袜香。 傳聞我的和親對象是個殘疾皇子撕予,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容