本篇文章作者介绍了有关中继器的使用——如何制作购物车。 写在开头的温馨提示: 本教程适合对中继器有一定基本概念和知识理解的选手,完全没有概念的朋友,可能需要先补习一下基础知识才能看懂,我尽量讲解的通俗易懂哈! 先看效果图,如果这就是你想要的,请往下看吧~ 达到的效果讲解: 选择商品,会影响到总价的变化。即购物车里面的选中/取消选中。 商品数量的变化,也会影响到总价的变化。即商品数量的+/-。 前期原件准备 中继器一个; 合计 文本标签/矩形一个; ¥ 文本标签/矩形 一个; 总价(显示总价金额)的文本一个。 中继器内部零件准备: 价格=取名"price"(矩形即可)。 数量=取名"number"(文本框)——因为后期要设置——文本改变时——的用例,所以要选择用文本框。 +号和-号各一个。 一个圆形=取名"单选按钮"(矩形即可)。 小计=取名"小计"(矩形即可)(为什么要设置一个小计文本,后面会解释,它很重要喔)。 中继器的设置与一一对应不详细讲解了,属于基础知识,看图: +号和-号的用例设置: +号——鼠标单击时——设置文字于number(数量)+1; -号——鼠标单击时——if文字于number>1,设置文字于number(数量)-1。 (说明:为什么要设置一个if条件让number>1,因为我们实际操作的时候,当数量=1时,不能让数量再减少了,否则就变成0or负数,没有意义了) 一、单选按钮讲解 思路:我们要的效果是:即选中单选按钮时,总价会随着选中/不选中发生变化。 所以给【单选按钮】设置用例: 即选中单选按钮时,设置总价文本——[[LVAR1.slice(0)+a*b]](其中lvar1是总价,a是价格,b是数量); 取消选中单选按钮时,设置总价文本——[[LVAR1.slice(0)-a*b]]。 在这里,lvar1是总价的元件文字,a是价格的元件文字,b是数量的元件文字。 关于涉及的函数slice:这里使用到的函数slice(start,end)是截取字符串的函数,它有两个参数start和end,分别为截取的起始位置与终止位置;参数end可以省略,省略这个参数时默认截取至末尾。 我们为什么是LVAR1.slice(0),是因为我们本身总价的文本文字只有一个0,因为,字符串位置索引编号是从0开始,也就是说第1个字符的位置是0,所以我们通过slice(0)来截取从第1个字符至末尾的数字部分。 使用这个函数截取的目的是,每次计算之后,用这个计算结果再加上价格乘以数量的结果,就是新的总价数值。 二、数量元件讲解 思路:我们要的效果是,当该商品是选中状态时,若它的数量变化,总价要发生变化。 所以给【数量】增加用例: 1、if选中单选为true:文本改变时,设置总价文本=[[LVAR1.slice(0)-c+a*b]](c是小计,a是价格,b是数量);同时设置小计文本=a*b(价格*数量) 2、if选中单选为false,也设置小计文本=a*b(价格*数量)(为什么非选中状态也要设置文本,因为当你不选中时候,你也可能去+-数量,如果这个时候小计的数和实际单价*数量的数不一致了,后面减的时候就会出现差错) 三、小计文本载入 给小计文本载入时也设置文本=a*b(价格*数量)(并设置隐藏)。 解释:为什么有一个小计文本,它是一个辅助作用。 当数量发生变化的时候,该项商品的独立总价也会发生变化,比如原来是10,现在是20,总价的显示已经包含了原有的10,所以我们需要先减去这个10(即小计文本的数字),再重新加上现有的20(即价格*新的数量)才是正确的总价。 不然会变成总价+10+20.就多包含了原有的10。 如果你看到了这里,并跟着一一做下来的话,我觉得我们已经大功告成了! 一起来看看我们的效果吧! 这套方法也是基于各位大佬的理论上,加上我自己想要的实际效果琢磨出来的,不知道大家看懂了吗? 第一次写教程,如果有哪里不清楚的,欢迎各位指教!萌新选手,多多包涵! 最后,感谢大家阅读,有任何问题想一起探讨或交流,欢迎戳主页~嘻嘻嘻~