2016-11-29 141 views
-1

我目前正在致力於留言,我想創建一個星級評分系統。但我卡住了!當我點擊它們時,我無法修復恆星,使它們保持黃色(gelb)。星級評分系統html

這是到目前爲止我的代碼:

<div class="rating"> 
     <p id="rating-paragraph">Rate</p> 
     <img id="stern1" src="pictures/durchsichtig.png" onmouseover="stern1.src='pictures/gelb.png'" onmouseout="stern1.src='pictures/durchsichtig.png'" alt="error"> <?php ?> 
     <img id="stern2" src="pictures/durchsichtig.png" onmouseover="stern1.src='pictures/gelb.png'; this.src='pictures/gelb.png'" onmouseout="stern1.src='pictures/durchsichtig.png'; this.src='pictures/durchsichtig.png'" alt="error"> 
     <img id="stern3" src="pictures/durchsichtig.png" onmouseover="stern1.src='pictures/gelb.png'; stern2.src='pictures/gelb.png'; this.src='pictures/gelb.png' " onmouseout="stern1.src='pictures/durchsichtig.png';stern2.src='pictures/durchsichtig.png'; this.src='pictures/durchsichtig.png' " alt="error"> 
     <img id="stern4" src="pictures/durchsichtig.png" onmouseover="stern1.src='pictures/gelb.png'; stern2.src='pictures/gelb.png'; stern3.src='pictures/gelb.png'; this.src='pictures/gelb.png' " onmouseout="stern1.src='pictures/durchsichtig.png';stern2.src='pictures/durchsichtig.png'; stern3.src='pictures/durchsichtig.png';this.src='pictures/durchsichtig.png' " alt="error"> 
     <img id="stern5" src="pictures/durchsichtig.png" onmouseover="stern1.src='pictures/gelb.png'; stern2.src='pictures/gelb.png'; stern3.src='pictures/gelb.png'; stern4.src='pictures/gelb.png'; this.src='pictures/gelb.png' " onmouseout="stern1.src='pictures/durchsichtig.png';stern2.src='pictures/durchsichtig.png'; stern3.src='pictures/durchsichtig.png';stern4.src='pictures/durchsichtig.png'; this.src='pictures/durchsichtig.png' " alt="error"> 
    </div> 

和CSS:

#stern1:hover, #stern2:hover, #stern3:hover, #stern4:hover, #stern5:hover{ cursor: pointer; }

感謝您的時間,也許一些幫助或建議:)

+2

歡迎堆棧溢出!尋求代碼幫助的問題必須包含在問題本身中重現**所需的最短代碼**最好在[** Stack Snippet **]中(https://blog.stackoverflow.com/2014/09/introducing-runnable) -javascript-CSS-和HTML的代碼段/)。請參閱[**如何創建一個最小,完整和可驗證的示例**](http://stackoverflow.com/help/mcve) –

+0

看起來像缺少一個點擊事件,它會翻轉圖像以使星星保持點亮。你需要一個onclick或者一個JQuery $(「#theId」)。(點擊.....讓它開始。[示例](http://callmenick.com/post/five-star-rating -component與 - JavaScript的CSS) – dpp

回答

6

純CSS +沒有任何圖像的HTML評分方法(僅與unicode構件一起使用)

div.stars { 
 
    width: 270px; 
 
    display: inline-block; 
 
} 
 

 
input.star { display: none; } 
 

 
label.star { 
 
    float: right; 
 
    padding: 10px; 
 
    font-size: 36px; 
 
    color: #444; 
 
    transition: all .2s; 
 
} 
 

 
input.star:checked ~ label.star:before { 
 
    content: '\2605'; 
 
    color: #FD4; 
 
    transition: all .25s; 
 
} 
 

 
input.star-5:checked ~ label.star:before { 
 
    color: #FE7; 
 
    text-shadow: 0 0 20px #952; 
 
} 
 

 
input.star-1:checked ~ label.star:before { color: #F62; } 
 

 
label.star:hover { transform: rotate(-15deg) scale(1.3); } 
 

 
label.star:before { 
 
    content: '\2605'; 
 
}
<div class="stars"> 
 
    <form action=""> 
 
    <input class="star star-5" id="star-5" type="radio" name="star"/> 
 
    <label class="star star-5" for="star-5"></label> 
 
    <input class="star star-4" id="star-4" type="radio" name="star"/> 
 
    <label class="star star-4" for="star-4"></label> 
 
    <input class="star star-3" id="star-3" type="radio" name="star"/> 
 
    <label class="star star-3" for="star-3"></label> 
 
    <input class="star star-2" id="star-2" type="radio" name="star"/> 
 
    <label class="star star-2" for="star-2"></label> 
 
    <input class="star star-1" id="star-1" type="radio" name="star"/> 
 
    <label class="star star-1" for="star-1"></label> 
 
    </form> 
 
</div>