課程
/前端開發
/JavaScript
/人人網評論功能
稍微修改了一下,誰給完善下? 有且僅有一顆心時,點擊第一顆星時所有星星變黑。
2014-10-20
源自:人人網評論功能 7-3
正在回答
<!DOCTYPE?html> <html> ????<head> ????<meta?charset="UTF-8"> ????<title></title> ????<style?type="text/css"> span?{ ????cursor:?pointer; } </style> ????<script?type="text/javascript"> ????????window.onload?=?function?()?{ ????????????//?獲取元素 ????????????var?stars?=?document.getElementById('stars').getElementsByTagName('span'); ????????????var?ret?=?document.getElementById('ret'); //獲得所有星星的數量 function?starNum(){ var?len=0; for(var?i?=0;i<stars.length;i++){ ?if(?stars[i].style.color=="red"){ ?len?=?i+1; ?} }return?len; } //定義getStar函數 function?getStar(n){ ??for(var?i=0;i<stars.length;i++){ ?if(i<=n-1){ ??stars[i].style.color="red"; } else{ ??stars[i].style.color=""; ??} } ret.innerHTML=n; }?? //?每個星星節點的點擊事件 var?num=ret.innerHTML;??//點擊前的星星分數 for(var?i?=0;i<stars.length;i++){ stars[i].onclick=function(){ var?n?=?this.getAttribute("star"); getStar(n); ?? //如果有且僅有一顆心,并且點擊星時,所有星變黑色 if?(num==1){ //?點擊前的星星分數?==?1 stars[0].style.color=""; ????num?=?0; }?else?{ num?=?n; //?更新 } } stars[i].onmouseover=function(){ var?n?=?this.getAttribute("star"); getStar(n);?? } stars[i].onmouseout=function(){ getStar(num); } }???????? ??} ????</script> ????</head> ????<body> <div?id="stars">? <span?star="1">★</span>? <span?star="2">★</span>? <span?star="3">★</span>? <span?star="4">★</span>? <span?star="5">★</span>? </div> <div?id="ret"></div> </body> </html>
舉報
仿人人網評論,讓你的網頁活躍起來,趕快來學習讓功能的實現吧
3 回答
1 回答
8 回答
9 回答
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2014-12-07