HTML5学堂:在项目开发中会遇到各种各样的页面交互效果,那我们如何去实现一个页面交互效果?在实现页面交互效果的时候,会根据效果的实现思路来进行分析和实现,这也是我们文章中的一个重点。下面的文章内容主要是根据效果实现思路来分析点击按钮实现求和功能。
1 点击按钮实现求和的效果图
2 实现页面交互效果的思路
3 用自己的语言进行功能的描述
4 仔细查看功能,并根据基本功能构建结构样式
5 细化功能描述并转换为JS语言或命令
6 JS具体编码以及代码优化,回顾成品代码
7 课程小结
8 课后作业
——>用自己的语言进行功能的描述
——>仔细查看功能,并根据基本功能构建结构样式
——>细化功能描述并转换为JS语言或命令
——>JS具体编码以及代码优化,回顾成品代码
Tips:对于初学者来说,小编建议根据上面的实现思路来分析和实现页面交互效果。
我们需要用自己的语言进行详细的功能描述,因为后面需要根据功能的描述来搭建结构与样式,它会直接影响后期JS交互效果的实现。
具体的功能描述如下:
用鼠标点击“按钮”时,将两个文本框中输入的数字进行加和运算,并将加和的结果显示在“求和结果”的后面。
1 在功能描述中“将两个文本框中输入的数字进行加和运算”,可以让用户提交数据的标签也只能是表单元素,在这边明显是input元素;
2 为了优化input元素的用户体验,使用label元素来扩大聚焦的点击区域,也就是说点击label元素光标会自动聚焦到input元素里面;
3 在功能描述中“用鼠标点击‘按钮’时”,按钮我们是使用了input类型的按钮(也可以使用其它按钮);
4 在功能描述中“加和的结果显示在‘求和结果’的后面”,为了后期JS方便的操作,最终的求和结果显示在em标签里面;
网页中存在着各种标签,需要利用document.getElementById(id)方法获取“按钮”元素,才能针对“按钮”元素进行相应的操作;
鼠标点击“按钮”,需要为“按钮”元素绑定点击事件,可以用eleObj.onclick = function(){};来绑定点击事件;
网页中存在着各种标签,需要利用document.getElementById(id)方法获取“文本框”元素,才能针对“文本框”元素进行相应的操作;
前面我们学过了用innerHTML的属性来获取标签的内容,但是对于表单元素来说,获取表单的内容需要使用value的属性,如:eleObj.value;
实例:
结果:
代码分析:
1 表单元素使用value属性可以获取到表单的内容,使用innerHTML属性获取不到表单的内容;
2 通过value属性获取到的表单内容是属于字符串类型;
现在已经知道通过value属性获取到的内容是字符串类型,然后再对内容进行加法操作,结果会如何?具体看下面的例子。
实例:
结果:1314 520
代码分析:
1 只要“+”操作符的任意一侧出现字符串,它就从加法运算的功能变成连字符的功能;
2 为了保证“+”不受字符串的影响,可以通过parseInt()方法把字符串的内容转成数字,这样就能正常的加法运算;
对于获取/设置非表单元素的内容,我们可以通过eleObj.innerHTML来进行操作;
效果:
到目前为止,我们已经完成了点击按钮实现求和功能。但是,我们能否继续优化里面的代码?我们来想一个问题,假如页面中出现了多个点击按钮实现求和功能,你是把代码复制黏贴一遍还是进行代码的封装?我想你应该知道怎么做了吧~
代码分析:封装好的sum功能函数在其它地方当中也能正常使用,这样可以减少代码冗余,提升代码的可读性和复用性;
Tips:代码优化是贯穿于整个过程,而不是到最后才进行代码的优化;
掌握作用域能够避免一些因变量造成的问题,才能更灵活的去操作变量或函数;另外,掌握作用域可以帮助你更好的去理解后面要学的闭包;
掌握页面交互效果的实现思路(分析方法),能够更清楚的去分析和实现页面交互效果。
欢迎沟通交流~HTML5学堂