最近驗收了ITOO,老師當時驗收的時候對於界面的設計非常敏感,只要看了一個大體輪廓,就能給出我們建議,這是二十年積累的經驗,我們要做的就是站在巨人的肩膀上,讓我們成長更快!
老師説了一下關於界面設計的幾個設計理念:
1)如無必要,勿增實體--奧卡姆剃刀原理
2)不是用户需要什麼,我們做什麼,而是用户需要什麼,我們有什麼
3)不要一下子給用户顯示過多的信息
這個第三點,是我今天重點想説的一點。一下子給用户呈現大量的信息,只會讓人看了反感,又怎麼會有興趣繼續去用你的軟件呢?我們有一種解決方案是放到更多裏,但更多的形式我們也可以仿照淘寶顯示品牌一樣,剛開始只顯示幾個品牌,點擊更多就會出現全部品牌。
下面是演示效果:
1)點擊搜索後出現某些品牌
2)點擊更多出現所有的品牌
下面是我自己做了一個小例子,來實現這個功能,我認為ITOO中關於信息的顯示也可以採用這種方式,我們開始剛開始只顯示必要的信息,當用户需要知道更多時,可以直接點擊更多查看詳細信息。
HTML結構:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<head>
<title>單擊顯示更多內容</title>
<link type="text/css" rel="stylesheet" href="cate.css" />
<script type="text/javascript" src="js/jquery-1.3.1.js"></script>
<script type="text/javascript" src="js/cate.js"></script>
</head>
<div class="SubCategoryBox">
<ul>
<li><a href ="#">華為</a></li>
<li><a href ="#">小米</a></li>
<li><a href ="#">蘋果</a></li>
<li><a href ="#">魅族</a></li>
<li><a href ="#">三星</a></li>
<li><a href ="#">樂視</a></li>
<li><a href ="#">OPPO</a></li>
<li><a href ="#">vivo</a></li>
<li><a href ="#">紐曼</a></li>
<li><a href ="#">中興</a></li>
<li><a href ="#">酷派</a></li>
<li><a href ="#">海爾</a></li>
<li><a href ="#">其他品牌</a></li>
</ul>
<div class="showmore">
<!--<a href ="more.html"><span>顯示全部品牌</span></a>-->
<a><span>顯示全部品牌</span></a>
</div>
</div>
</html>
CSS樣式:
ul,li{
/* 清除ul,li的小圓點 */
list-style:none;
}
a{
/* 取消所有的下劃線 */
text-decoration:none;
padding-left:20px;
display:block;
display:inline-block;
width:100px;
padding-top:3px;
padding-bottom:3px;
}
body{
font-size:16px;
text-align:center;
}
*{
margin:0;
padding:0;
}
.SubCategoryBox{
width:600px;
margin:0 auto;
text-align:center;
margin-top:40px;
}
.SubCategoryBox ul li{
display:block;
float:left;
width:200px;
line-height:20px;
}
.showmore{
clear:both;
text-align:center;
padding-top:10px;
}
.showmore a{
display:block;
width:120px;
margin:0 auto;
line-height:24px;
border:1px solid #AAA;
}
.showmore a span{
padding-left:15px;
background:url(img/down.gif) no-repeat 0 5px;
}
.promoted a{
color:#F50;
}
JS方法:
$(function(){
var $category =$('ul li:gt(5):not(:last)');//獲取索引值大於5的品牌集合對象(去掉最後一個)
$category.hide(); //隱藏獲得的JQuery對象
var $toggleBtn = $('div.showmore >a'); //獲取全部品牌的按鈕
$toggleBtn.click(function(){
if($category.is(":visible")){ //如果元素顯示,則執行對應的代碼
$category.hide(); //隱藏$category
$('.showmore a span')
.css("background","url(img/down.gif) no-repeat 0 5px")
.text("更多"); //改變背景圖片和文字
$('ul li').removeClass("promoted"); //去掉高亮樣式
}else{
$category.show();
$('.showmore a span')
.css("background","url(img/up.gif) no-repeat 0 5px")
.text("精簡"); //改變背景圖片和文本內容
$('ul li').filter(":contains('華為'),:contains('蘋果'),:contains('魅族')")
.addClass("promoted"); //添加高亮樣式
}
return false; //超鏈接不可跳轉
})
})
運行效果:
總結:
在這個小例子中,我對JQuery的書寫有了更深刻的理解,從我寫的註釋中就看到了相對於之前有了很深刻的理解,從剛開始接觸ITOO的一點都不會寫,到現在一步步的成長,在項目中真的成長很快,接下來的一個版本我們還會有更多的收穫。