创建第一个SPA应用--2015-03-30记录

创建第一个SPA应用从项目管理的思路开始进行。按照需求、功能、技术、测试、维护等都要先出文档,把需求和设计的文档、计划都完成后,就开始项目的开发工作。有计划的开展工作,才能定期跟踪和回顾。这样才能知道这段时间:做了什么,哪些功能是列了计划但没做的,问题和风险在哪里,有哪些需要进行调整的?一个软件的生命周期每个阶段的里程碑是不同的,要抓住重点。
2015-04-04新增--总是觉得时间不够用,每天工作的内容都要加班到很晚才完成,我已经工作了好几年了,解决问题应该很快很好才对,怎么越来越没有效率了?本来想做个文档,把该做的事情都详细的描述清楚,并且做个计划,但是时间不够啊~~~还是慢慢先看书,然后把代码贴上来吧,也算读完了一本书。

第一个小功能就是做一个右下角的聊天滑块,页面加载时是收起来的,点击是他会展开,再次点击时,他又恢复。在开始之前我们先把要做的事情做个提纲:

1、一个HTML页面,右下角有个默认关闭的滑块,div+css编码工作;

2、引入jquery,他提供浏览器兼容性良好的动画效果(可以用各个平台CDN资源)

3、JavaScript工作,编写一个chat函数,用来创建和管理聊天滑块。

4、当浏览器DOM可用时,就调用chat函数。

代码时间

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>SPA chapter 1</title>
<style type="text/css">
	body{width:100%;height:100%;overflow:hidden;background:#777;padding:0;margin:0;}
	#spa{top:8px;left:8px;bottom:8px;right:8px;border-radius:8px 8px 0 8px;}
	.spa-slider{position:absolute;bottom:0;right:2px;width:300px;height:16px;cursor:pointer;border-radius:8px 0 0;background-color:#fff;}
</style>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
	/*
	jslint	browser	:	true,	continue	:	true,
	devel	:	true,	indent	:	2,	maxerr	:	50,
	newcap	:	true,	nomen	:	true,plusplus:true,
	regexp	:	true,	sloppy	:	true,vars	:true,
	white	:	true
	*/
	//Module /spa/
// provides chat slider capability
	var spa = (function($){
	//Module scope variables
	var
		// set constants
		configMap = {
			extended_height	: 433,
			extended_title	: '点击缩放',
			retracted_height:16,
			retracted_title	: '点击展开',
			template_html	: '<div class="spa-slider"><\/div>'	
		},
		// declare all other module scope variables
		$chatSlider,
		toggleSlider,onClickSlider,initModule,
	
	// DOM method /toggleSlider/
	// alternates slider height
	//
	toggleSlider = function(){
		var
			slider_height = $chatSlider.height();
			//console.log(slider_height);
			// extend slider if fully retracted
			if(slider_height === configMap.retracted_height){
				$chatSlider.animate({height : configMap.extended_height}).attr("title",configMap.extended_title);
				return true;
			}
			// retract slider if fully extended
			else if(slider_height == configMap.extended_height){
				$chatSlider.animate({height : configMap.retracted_height}).attr("title",configMap.retracted_title);
				return true;	
			}
		// do not take action if slider is in transition
		return false;
	},
	
	// Event handler /onClickSlider/
	// receive click event and calls toggleSlider
	//
	onClickSlider = function(event){
		toggleSlider();
		return false;
	},
	
	// Public method /initModules/
	// sets initial state and provides feature
	// 
	initModule = function($container){
	  // render HTML
	  $container.html(configMap.template_html);
	  $chatSlider = $container.find(".spa-slider");
	  // initialize slider height and title
	  // bind the user click event to the event handler
	  $chatSlider.attr('title',configMap.retracted_title).click(onClickSlider);
	  return true;
	};
	return {initModule : initModule}
	}(jQuery));
	// start spa once DOM is ready
	jQuery(document).ready(function(e) {
        spa.initModule(jQuery("#spa"));
    });
</script>
</head>
<body>
<div id="spa">
	<div class="spa-slider"></div>
</div>
</body>
</html>

效果就是页面右下角有一块白色区域,点击后展开一个窗口,再点击缩回原来的状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值