1 回答

TA貢獻(xiàn)885條經(jīng)驗(yàn) 獲得超1144個(gè)贊
for?(i?=?1;?i?<=?aLi.length;?i++)???? {???? aLi[i?-?1].index?=?i;
這一段表示:循環(huán)給li加了一個(gè)index屬性,并且賦值。i-1的原因是JS中下標(biāo)都是從0開(kāi)始。
("?+?aMsg[this.index?-?1].match(/\|(.+)/)[1]?+?")"
這一段表示:鼠標(biāo)點(diǎn)擊時(shí)拼接分?jǐn)?shù)和選中的星星表示的內(nèi)容。
aMsg是一個(gè)數(shù)組,下標(biāo)同樣是從0開(kāi)始的而li.index是從1開(kāi)始的,所以往前移動(dòng)一位 aMsg[this.index-1] 就是index對(duì)應(yīng)的評(píng)價(jià)信息。
后邊的:.match(/\|(.+)/)[1],表示從消息中用正則匹配"|",然后選擇第二個(gè)匹配值,也就是把對(duì)應(yīng)索引的消息用“|”號(hào)分割,選后邊的一個(gè)。
如:"非常滿意|質(zhì)量非常好,與賣家描述的完全一致,非常滿意" ,用“|”分割,可以分割為具有兩個(gè)字符串的數(shù)組:
非常滿意 ?===> 在數(shù)組中下標(biāo) 0
質(zhì)量非常好,與賣家描述的完全一致,非常滿意??===> 在數(shù)組中下標(biāo) 1
//評(píng)分處理???? function?fnPoint(iArg)???? {???? //分?jǐn)?shù)賦值???? iScore?=?iArg?||?iStar;???? for?(i?=?0;?i?<?aLi.length;?i++)?aLi[i].className?=?i?<?iScore???"on"?:?""; ??? }
這一段里,iArg是鼠標(biāo)劃過(guò)元素的 index 屬性值。
iScore = iArg || iStar; ?表示,如果iArg沒(méi)有傳入正確的值,iScore將等于iStar。
后邊那個(gè)循環(huán),表示給鼠標(biāo)滑過(guò)元素和它前邊的元素加CSS類“on”。
添加回答
舉報(bào)