最近验收了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的一点都不会写,到现在一步步的成长,在项目中真的成长很快,接下来的一个版本我们还会有更多的收获。

最新文章

  1. Flume(1)使用入门
  2. 23.mysql集群(master-master)
  3. 路由器TL-WR941N V5.1:救砖、MOD
  4. Appium Java Windows环境搭建篇
  5. JSON-JObject
  6. MP3播放器的实现
  7. hdu1540-Tunnel Warfare (线段树区间合并)
  8. .net framework版本以及服务器部署问题
  9. cf486C Palindrome Transformation
  10. Github远程推送一直Everything up-to-date
  11. &#39;{}/{}_frames_{:02d}.npy&#39;.format(dataset, train_or_test, i+1)函数
  12. IPTABLES使用总结(内网模拟银行网络)
  13. [LeetCode] 504. Base 7_Easy tag: Math
  14. liunx基础命令
  15. Python中创建守护进程
  16. Java 8新特性之Stream(八恶人-3)
  17. sencha touch Container
  18. Linux下C++的通用Makefile与解析
  19. Java生成指定范围内的工具类
  20. 让arch阻止某个软件包的升级

热门文章

  1. python基础(三)-- 文件操作
  2. ES(ElasticSearch)文档的表现形式以及增删改查
  3. 数组转JSON对象
  4. CORS和CSRF
  5. Fiddler代理手机抓包
  6. 协议——SCCB与IIC的区别
  7. 【scratch3.0教程】 2.3 奥运五环
  8. Harbor 企业级私有仓库 Ubuntu16.04 搭建及使用
  9. Celery定时任务细讲
  10. springboot中常用的依赖