1.图标用img标签显示,再img标签点击后,更改img的src属性,改变图标,将原来的空心换成红心的图片。
2.图标用css控制,设置background-image显示空心的背景图片,这里图片最好是png的,点击后换成红心的图片。
无论哪种,注意记录用户的点击行为,下次进去后直接显示红心的图标。比如百度app的点赞,要记录用户再哪个帖子点赞了,下次该用户再查看这个帖子的时候,默认显示点赞后的图标。
function Card(){
this.suit=["方块","红心","黑桃","梅花"]
this.face=["A","1","2","3","4","5","6","7","8","9","10","J","Q","K","小王","大王"]
this.setSuit=function()
{
return this.suit[Math.round(Math.random()*3)]
}
this.setFace=function()
{
return this.face[Math.round(Math.random()*15)]
}
this.updateSuit=this.setSuit()
this.updateFace=this.setFace()
}
你那断代码之所以会报错因为
this.updateSuit=setSuit()
this.updateFace=setFace()
setSuit和setFace函数不存在
在函数内部声明函数如果加了this.这个东西就等于java中写了一个方法
比如:public void fun(){}
如果不加this.的函数就等于java中的静态方法,如:public static void fun(){}
this.updateSuit = setSuit()这句话的意思就是把当前属性的值赋为执行setSuit函数的返回值
而上面说了,加了this.的函数声明为对象方法,而你这是调用静态方法语法,所以就调用不到这个方法,会报 setSuit is not defined 这个错误,说这个方法未定义。