0
我試圖創建下面描述的功能:jquery stars rating control
我得到了5顆星的圖像。在服務器上,我決定在每幅圖像中應顯示哪種圖像顏色。如果在服務器上計算的評分是3,那麼前三顆星是黃色,而後兩顆是灰色。
我想實現功能(使用jquery)。當用戶將任何恆星懸停時,這個和之前的顏色會變成紅色(圖像的url被改變),所有下一個恆星都會變成灰色,但是當光標離開恆星時,那些5星的狀態應該像進入之前一樣。
我寫了這樣的事情,但它不是好事,而不是真正的工作,我將它想:
var stars = {
initStars: function initStars() {
$('.starsHolder').hover(function() {
this.star1ImageUrl = $(this).children('.star').eq(0).attr('src');
this.star2ImageUrl = $(this).children('.star').eq(1).attr('src');
this.star3ImageUrl = $(this).children('.star').eq(2).attr('src');
this.star4ImageUrl = $(this).children('.star').eq(3).attr('src');
this.star5ImageUrl = $(this).children('.star').eq(4).attr('src');
$(this).children('.star').hover(function() { $(this).attr('src', '/star_red.png'); $(this).prevAll('.star').attr('src', '/star_red.png');}, function() { });
}, function(){
$(this).children('.star').eq(0).attr('src', this.star1ImageUrl);
$(this).children('.star').eq(1).attr('src', this.star2ImageUrl);
$(this).children('.star').eq(2).attr('src', this.star3ImageUrl);
$(this).children('.star').eq(3).attr('src', this.star4ImageUrl);
$(this).children('.star').eq(4).attr('src', this.star5ImageUrl);
$(this).children('.star').unbind();
})
}
};
明星們的asp:ImageButton的這就是爲什麼我改變src屬性,但它並不重要。星星在跨度類starsHolder
感謝與
這一個看起來很酷和維護:http://rateit.codeplex.com/ –