Axure實(shí)現(xiàn)類百度搜索原型,關(guān)鍵字變色

梁漩智
27 評(píng)論 16890 瀏覽 94 收藏 9 分鐘
🔗 产品经理在不同的职业阶段,需要侧重不同的方面,从基础技能、业务深度、专业领域到战略规划和管理能力。

用中繼器制作篩選,使用函數(shù)變量制作關(guān)鍵字變色

整個(gè)步驟關(guān)鍵有兩步:

第一步,我們要通過(guò)中繼器制作好我們所需的數(shù)據(jù)庫(kù),讓用戶可以搜索到;

我們使用中繼器進(jìn)行編輯,就是希望能夠通過(guò)中繼器所帶有的篩選功能可以對(duì)我們所需要的信息進(jìn)行篩選。這里的信息可以隨便編輯,我在這里用歌手名來(lái)進(jìn)行數(shù)據(jù)庫(kù)展示。

拖拽中繼器:

編輯數(shù)據(jù):

QQ截圖20150602114025

設(shè)置賦值:

QQ截圖20150602114111

得到數(shù)據(jù)庫(kù):

QQ截圖20150602114150

第二步,通過(guò)建立搜索框,對(duì)搜索框進(jìn)行編輯案例。

這一步的難點(diǎn)在于:

  1. 如何篩選出我們想要的數(shù)據(jù);
  2. 如何對(duì)我們選出的內(nèi)容進(jìn)行變色。

我們拖拽一個(gè)文本框,并命名為搜索文本框,然后編輯案例:文本改變時(shí):

QQ截圖20150602114429

首先,針對(duì)第一點(diǎn),中繼器自帶篩選功能,我們可以在文本改變時(shí)案例編輯里找到中繼器,然后選擇篩選功能。

QQ截圖20150601181724

現(xiàn)在問(wèn)題就出現(xiàn)了:中繼器只能做到篩選內(nèi)容與你的數(shù)據(jù)庫(kù)內(nèi)容的位置一一對(duì)應(yīng)。

舉例來(lái)說(shuō):

我想要通過(guò)搜索”姿“來(lái)篩選出”孫燕姿“,中繼器是做不到的。它只能做到,搜索”孫燕姿“或者按順序搜索”孫“或者”孫燕“才來(lái)篩選出”孫燕姿“。這個(gè)大家可以試一試。

因此,我們必須換個(gè)思路。在這里我們使用的是通過(guò)字符串函數(shù)”[[LVAR.indexOf(‘searchValue’)]]“進(jìn)行篩選。

這個(gè)函數(shù)的意思是從頭到尾地檢索字符串 LVAR,看它是否含有子串 searchValue。如果找到一個(gè) searchvalue,則返回 searchvalue 第一次出現(xiàn)的位置。如果要檢索的字符串值沒(méi)有出現(xiàn),則該方法返回 -1。

為了便于大家理解這個(gè)字符串,我在這舉例說(shuō)明:

添加一個(gè)矩形a,添加一個(gè)新文本框b,文本框輸入文字“孫燕姿2000年6月9日出道”以及原有的搜索文本框。

現(xiàn)在我們給搜索文本框編輯文本改變時(shí)案例——設(shè)置文本于矩形a=[[LVAR2.indexOf(LVAR1)]]

其中,局部變量LVAR1=搜索框文本,LVAR2=文本框b文本。

QQ截圖20150602120455

QQ截圖20150602120800

按F5進(jìn)行預(yù)覽,效果如下:

QQ截圖20150602120835

QQ截圖20150602120847

QQ截圖20150602120904

QQ截圖20150602120917

從上面效果,我們可以看出,只要是文本框b有的,都是一個(gè)大于-1的值,如果輸入了文本框b沒(méi)有的,則輸出文本為-1。

因此,通過(guò)這個(gè)案例,我們不難做到,中繼器篩選函數(shù)設(shè)為:[[Item.Column0.indexOf(LVAR1)>-1]]

其中,局部變量LVAR1為搜索框文本。

通過(guò)此方法就可以篩選出我們想要的關(guān)鍵字搜索結(jié)果。

 

當(dāng)我們通過(guò)這種方式,已經(jīng)可以篩選出我們想要的數(shù)據(jù)庫(kù)后,我們需要完成如何給我們檢索的文字變色。

變色就意味必須要讓系統(tǒng)知道我們輸入的是什么文字。

目前,axure可輸出文字的有三個(gè)字符串函數(shù):LVAR1.slice(start,end),LVAR1.substr(start,length)以及LVAR1.substring(from,to)。

在這里,我們選擇LVAR1.slice(start,end)。另外兩個(gè)函數(shù),如果不太懂,可以網(wǎng)上搜一搜,這里不做詳解。

[[LVAR.slice(start,end)]]是指:返回LVAR從 start 開(kāi)始(包括 start)到 end 結(jié)束(不包括 end)為止的所有字符。這里的start和end指的是字符串所在的位置,0代表第一個(gè)位置,-1代表倒數(shù)第一個(gè)位置,而函數(shù)最后輸出來(lái)的就是具體的文字。

舉例來(lái)解釋此函數(shù):

準(zhǔn)備好文本框b和矩形a。

設(shè)置文本框b鼠標(biāo)單擊時(shí)案例:設(shè)置文本于矩形a=[[LVAR1.slice(0,5)]],其中LVAR1為文本框b文本。

(0,5)指的是第一個(gè)字符到第五個(gè)字符,預(yù)覽結(jié)果如下:

QQ截圖20150602122425

也就是說(shuō),如果能夠知道我們輸入的文字在篩選出來(lái)的數(shù)據(jù)庫(kù)中所在的位置,則能讀取出我們想要的文字。

我們通過(guò)結(jié)合上一步的函數(shù),可以推導(dǎo) 出:

QQ截圖20150601120018

整個(gè)函數(shù)指的就是在篩選后的數(shù)據(jù)庫(kù)里,提取出文本框里的文字。也就是說(shuō)假如現(xiàn)在只有這一個(gè)函數(shù),我們輸入”姿“,最后在數(shù)據(jù)庫(kù)里,只會(huì)顯示”姿“。現(xiàn)在我們?cè)诤瘮?shù)的富文本編輯里,給它換個(gè)字體顏色,就可以完成變色的目標(biāo),效果如下:

QQ截圖20150602123013

QQ截圖20150602123124

QQ截圖20150602123147

QQ截圖20150602123156

我們已經(jīng)完成了篩選換色目標(biāo),接下來(lái)就是還原前后兩部分文字。不難想象,既然我們知道了關(guān)鍵字的位置,就可以推到出前后兩部分,前部分,就應(yīng)該是起始位置0,到我們關(guān)鍵字的起始位置;而后半部分,即是關(guān)鍵字最后一個(gè)字的位置,到結(jié)束止。具體函數(shù)如下:

前部分函數(shù):[[Item.Column0.slice(0,Item.Column0.indexOf(LVAR1))]],即提取首字符,到我們搜索文本框的第一個(gè)字符(不包括)止。

后部分函數(shù):[[Item.Column0.slice(Item.Column0.indexOf(LVAR1)+LVAR1.length)]],即提取搜索文本框輸入最后一個(gè)文字位置到整個(gè)數(shù)據(jù)庫(kù)文本的結(jié)束位置。

最后,整個(gè)百度搜索的方式就制作出來(lái)了。

原型預(yù)覽:http://er0yg0.axshare.com

原型下載: http://pan.baidu.com/s/1bn8mqsv

 

本文為作者@梁漩智 原創(chuàng)投稿發(fā)布,轉(zhuǎn)載請(qǐng)注明來(lái)源于人人都是產(chǎn)品經(jīng)理并附帶本文鏈接

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 感謝作者的分析

    回復(fù)
  2. 樓主謝謝你啊,這篇文章很有用。
    [[Item.Column0.indexOf(LVAR1)>-1]] 這個(gè)函數(shù)幫了我大忙。

    來(lái)自北京 回復(fù)
  3. 我這邊也沒(méi)法變色,下載你的原型也不變色,但是通過(guò)axshare試你的可以變~估計(jì)是axure版本問(wèn)題,將光標(biāo)插到已調(diào)色的函數(shù)段中格式欄中也沒(méi)顯示紅色
    原型預(yù)覽:http://jlsvpg.axshare.com
    源文件下載:http://pan.baidu.com/s/1gdvwkOr

    來(lái)自北京 回復(fù)
    1. 另外,在實(shí)際應(yīng)用,在輸入關(guān)鍵詞之前,搜索框下展示的聯(lián)想關(guān)鍵詞應(yīng)該是隱藏的,清空搜索框內(nèi)容后,也是不應(yīng)顯示的,這個(gè)該如何實(shí)現(xiàn),求賜教~ ?

      來(lái)自北京 回復(fù)
    2. 同求

      來(lái)自浙江 回復(fù)
    3. 先隱藏中繼器,填加條件,顯示隱藏。

      來(lái)自北京 回復(fù)
  4. 怎么讓他顯示不在是True和False,怎么篩選完后顯示中文啊

    來(lái)自北京 回復(fù)
  5. 數(shù)據(jù)集在哪里編輯

    來(lái)自北京 回復(fù)
  6. 對(duì)于小白還是有點(diǎn)吃力

    來(lái)自四川 回復(fù)
  7. 作者 你應(yīng)該先講解,演示過(guò)整個(gè)過(guò)程,再把你發(fā)現(xiàn)的問(wèn)題進(jìn)行解說(shuō)。
    因?yàn)樾“资窍肟吹秸麄€(gè)操作過(guò)程,模仿后自己感悟,再看你提出的問(wèn)題跟解答。

    來(lái)自廣東 回復(fù)
  8. 這篇文章寫(xiě)得很好,可以加深小白對(duì)中繼器跟局部變量的認(rèn)識(shí)與理解。

    來(lái)自廣東 回復(fù)
    1. 3q

      來(lái)自北京 回復(fù)
  9. ??

    來(lái)自北京 回復(fù)
  10. 為什么我的函數(shù)a=[[LVAR2.indexOf(LVAR1)]],一直返回-1,請(qǐng)大神指導(dǎo)。。。我的axure版本是7.0

    來(lái)自河南 回復(fù)
    1. 你看看,你的兩個(gè)局部變量是否賦值正確

      來(lái)自北京 回復(fù)
    2. 我的也是一樣的問(wèn)題

      來(lái)自北京 回復(fù)
  11. 實(shí)際應(yīng)用的時(shí)候關(guān)鍵字沒(méi)有變色哎

    來(lái)自北京 回復(fù)
    1. 我的也是這樣額

      來(lái)自廣東 回復(fù)
    2. 富文本里面要更改顏色設(shè)置

      來(lái)自北京 回復(fù)
  12. 樓主給講解一下axure的函數(shù),整理一下函數(shù)即使用

    來(lái)自北京 回復(fù)
专题
16626人已学习16篇文章
对于很多软件工程师来说,工作内容都与界面设计有很大的关联。本专题的文章分享了界面设计方法。
专题
13009人已学习12篇文章
要想判断一个行业的趋势,就要做好行业分析。本专题的文章分享了如何撰写行业分析报告。
专题
14217人已学习13篇文章
如果做小红书运营?本专题的文章分享了小红书流量密码。
专题
33749人已学习16篇文章
信息流背后有着怎样的逻辑和策略?
专题
12153人已学习14篇文章
随着科技的发展,AI技术渗透进各个行业里边,AI图像生成和识别技术有了更大的突破性,本专题的文章分享了AI图像识别。
专题
85594人已学习22篇文章
不能用C端产品思维套在B端产品上哦。