Controller里的代碼:
1 .controller('evaluateCtrl', function($scope, $state, $stateParams, $ionicPopup,$ionicHistory,Popup) { 2 3 //定義一個數組 映射五顆星星的位置和圖片 4 $scope.starArray = [ 5 {"id" : 1, 6 "src":"img/icons/starBack.png" 7 }, 8 {"id" : 2, 9 "src":"img/icons/starBack.png"}, 10 { "id" : 3, 11 "src":"img/icons/starBack.png"}, 12 { "id" : 4, 13 "src":"img/icons/starBack.png"}, 14 { "id" : 5, 15 "src":"img/icons/starBack.png" 16 } 17 ]; 18 //初始化評價星級為0 19 $scope.currentStar = 0; 20 //改變星星的背景圖 點擊的當前星星和做左邊的星星換成亮圖,右邊的星星變成灰圖 21 function changeStars(){ 22 for(var i = 0;i < $scope.starArray.length; i++){ 23 if($scope.currentStar >= $scope.starArray[i].id){ 24 $scope.starArray[i].src = "img/icons/star.png"; 25 }else{ 26 $scope.starArray[i].src = "img/icons/starBack.png"; 27 } 28 } 29 } 30 31 //點擊星星的操作 32 $scope.clickStar = function(item){ 33 $scope.currentStar = item.id; 34 changeStars(); 35 }; 36 //點擊評價按鈕 判斷用戶是否已經點擊星星 給與評價 37 $scope.clickPublish = function() { 38 if($scope.currentStar == 0){ 39 //若沒點擊,彈出提示 40 Popup.loadMsg('請點擊對應的星星給協作人評價!', 1500); 41 }else{ 42 //TODO 43 } 44 }; 45 46 })
html 里的代碼
1 <div class="center_div" style="height:60px;padding-left: 20px;padding-top: 10px;padding-right: 20px;"> 2 <div style="float:left;white-space:nowrap" ng-repeat="item in starArray"> 3 <img ng-click="clickStar(item)" src="{{item.src}}"/> 4 </div> 5 </div>