2010-12-28 37 views
21

Bất kỳ ai cũng có thể đề xuất một kịch bản xếp hạng 5 sao JQuery đơn giản dễ cài đặt. Tôi chỉ cần một cá thể trên một trang duy nhất. Tôi không quan tâm nếu nó ghi vào một tập tin hoặc cơ sở dữ liệu mysql để tính toán trung bình đánh giá.Xếp hạng sao JQuery

Nó sẽ hiển thị số phiếu bầu và mức trung bình được tính. Nó cũng nên kiểm tra xem người đó đã xếp hạng hay không nên cho phép nhiều hơn 2 xếp hạng cùng một lúc. Nên có cookie hoặc phiên để ngăn nhiều xếp hạng hoặc một số cơ chế khác.

Tôi không quan tâm nếu tiền miễn phí hoặc chi phí của nó nhưng giấy phép sẽ cho phép tôi sử dụng nó trong các ứng dụng thương mại.

Đánh giá cao tất cả các đề xuất! Cảm ơn bạn!

P.S. Tôi đã dành một vài ngày cố gắng các kịch bản khác nhau trực tuyến nhưng không tìm thấy bất cứ điều gì đã thực sự hoàn thành.

+1

@Andrew: bạn có thực sự không có gì tốt hơn để làm hơn đơn phương đóng một câu hỏi với 20 phiếu bầu và 40+ upvotes cho câu trả lời số 1 không? Làm cách nào để sử dụng quyền kiểm duyệt của bạn mạnh mẽ hơn, chẳng hạn như thay đổi câu trả lời được chấp nhận thành câu trả lời số 1? –

+3

@dan Thời gian của bạn và giọng điệu của bạn chắc chắn được đánh giá cao. –

+1

@AndrewBarber: cho hồ sơ theo dõi của bạn về việc đóng và xóa các câu hỏi, tất cả những gì tôi có thể hy vọng từ yêu cầu tốt nhất tôi có thể đưa ra (sau khi đã bỏ phiếu để mở lại từ lâu), là để cho ra một số hơi nước. Nhưng dù sao đi chăng nữa - bạn có vui lòng cân nhắc việc mở lại câu hỏi này, theo ánh sáng mà họ đã tạo ra trong cộng đồng lập trình trong suốt một năm rưỡi qua không? –

Trả lời

4

này có vẻ tốt đẹp:
http://www.fyneworks.com/jquery/star-rating/

Nhưng bạn sẽ cần nhiều hơn một phụ trợ để đảm bảo mọi người không thể bỏ phiếu hai lần và để có được một mức trung bình của số phiếu biểu quyết. Phiếu bầu cần phải được lưu trữ ở đâu đó (hoặc ở mức thấp nhất mức trung bình hiện tại) và có hay không một người dùng bình chọn đã được lưu trữ trên máy chủ.

Liên kết này có thể cho bạn biết về một số những thứ server-side mà cần phải được thực hiện: http://www.yvoschaap.com/index.php/weblog/css_star_rater_ajax_version/

+2

Xếp hạng sao là một chút gỉ (không hỗ trợ cảm ứng, chẳng hạn). Hãy xem [RateIt] (http://stackoverflow.com/a/13176213/1269037): hỗ trợ cảm ứng, khả năng tương thích trình duyệt rõ ràng, cập nhật thường xuyên và dễ dàng hơn nhiều trên DOM so với các plugin khác. –

+0

Ngoài ra, xếp hạng sao chưa được cập nhật kể từ tháng 2 năm 2013. [RateIt] (http://stackoverflow.com/questions/4542883/jquery-star-rating/13176213#13176213) đã được cập nhật tuần trước. –

49

Tôi đã packaged a star rating plugin cho meteor, vì vậy tôi đã đánh giá tất cả các 11 jQuery plugin giá niêm yết here, và người chiến thắng là, cho đến nay, RateIt.

Nhanh, Tăng cường nâng cao, hỗ trợ chạm, tùy chỉnh (chỉ hoán đổi hình ảnh hoặc thay đổi CSS), JavaScript không phô trương (sử dụng thuộc tính data- *), hỗ trợ RTL, hỗ trợ nhiều sao như bạn muốn và cũng như bất kỳ kích thước bước nào.

Kích thước được rút gọn: 4.35KB (1.55KB khi gzipped).

Được thử nghiệm trên: IE6-10, Chrome 7-22, Firefox 3.6-16, Opera 10.63-12 - sử dụng jQuery 1.6.2 - 1.8.2. Chạm vào thử nghiệm hỗ trợ trên iPad iOS 4.2.1-5

RateNó có thể tùy chọn sử dụng HTML5 range input element - hoàn hảo cho mục đích này. Không yêu cầu <li> yếu tố hoặc nút radio.

Những người khác rõ ràng là giải pháp ít:

Star Rating, the first answer

  • 78 open issues
  • trên Google Code, không phải trên GitHub, có nghĩa là ít hoặc không có kéo yêu cầu
  • mới nhất cập nhật 7 months ago

Raty, the second answer

  • phát triển hơi chậm kiểm tra tab vấn đề)
  • không đề cập đến khả năng tương thích trình duyệt hoặc hỗ trợ cảm ứng
  • có kiểm tra bộ

https://github.com/ripter/jquery.rating

  • chỉ 22 cam kết
  • không hỗ trợ cảm ứng, trình duyệt compatibi niêm yết lity hoặc bất cứ điều gì
  • raty rõ ràng là tốt hơn

Dù sao, không ai trong số những đề cập đến khả năng tương thích trình duyệt hoặc hỗ trợ cảm ứng. RateIt làm, và nó cũng giải thích rõ ràng lý do tại sao nó tốt hơn và khác biệt so với những người khác:

Tại sao RateIt khác nhau

Mặc dù nó không được công việc tương tự như phần còn lại của các plugin sao giá jQuery, sự khác biệt chính là sự đơn giản của nó. Hầu hết các plugin tạo phần tử cho mỗi ngôi sao (một phần), có thể là một div có nền hình sao hoặc thẻ img. Mỗi thẻ trong số này nhận được sự kiện di chuột và sự kiện nhấp chuột. Và trên các sự kiện di chuột/nhấp chuột này, nó phải đi và nói chuyện với các ngôi sao khác, yêu cầu họ thay đổi trạng thái của chúng.

Vì vậy, mỗi plugin sao thực hiện rất nhiều thay đổi DOM (thêm số sao làm phần tử) và thêm nhiều sự kiện (một lần nữa số sao lần 2).

RateIt sử dụng về cơ bản ba div.

Ồ, và cập nhật cuối cùng? Hôm qua.

+15

Bạn đã làm một công việc tốt ở đây – Alexander

+0

thay đổi hình sao không thành công, tôi muốn nói kích thước không đủ tài liệu - Tôi có tình huống khi tôi cần tải html động và không có bất kỳ từ nào về tỷ lệ khởi tạo thủ công/sau khi tải tập lệnh một lần nữa –

+0

Hình như Raty là sạch hơn và tài liệu tốt hơn. – mahatmanich

Các vấn đề liên quan