>  기사  >  웹 프론트엔드  >  jQuery_jquery를 기반으로 한 별표 평가 플러그인

jQuery_jquery를 기반으로 한 별표 평가 플러그인

WBOY
WBOY원래의
2016-05-16 18:03:291631검색

먼저, 아래 그림과 같이 실행 효과를 살펴보세요.

별 위로 마우스를 이동하면 별 앞에 있는 모든 별이 켜집니다. 마우스를 클릭하면 클릭한 별의 개수가 기록되고 앞에 있는 모든 별이 켜집니다.
1. 원리
이 프로그램의 원리는 다음과 같습니다: "ul" 레이블, 레이블 배경은 회색 별, 표시할 "ul" 레이블의 너비를 제어합니다. 별의 수. 예를 들어 별 그림의 너비가 23px인 경우 별 10개를 표시하려면 "ul"의 너비는 별 10개를 표시하는 230px입니다.
n "li" 태그, n은 표시하려는 별 수를 나타냅니다. 예를 들어 별 10개를 표시하려면 "li" 태그가 10개가 됩니다. 그런 다음 이 10개 레이블의 너비는 별 1개의 경우 23px, 별 2개의 경우 46px, 별 10개의 경우 230px입니다. 이 "li" 태그의 배경은 파란색 별입니다.
마우스로 클릭한 별표나 초기 설정을 기록하는 "li" 태그도 있습니다.
이 라벨은 모두 겹쳐져 있습니다. 별 개수를 기록하려면 클릭하여 라벨의 스택 순서를 전환하세요.
2. 소스코드

코드 복사 코드는 다음과 같습니다

$.fn.studyplay_star=function(options,callback){
//기본 설정
var settings ={
MaxStar :20,
StarWidth :23,
CurrentStar :5,
활성화됨 :true
};
if(options) { jQuery.extend(설정, 옵션) }
var 컨테이너 =
container.css ({"position" :"relative"})
.html('
    ')
    .find('.studyplay_starBg').width(settings .MaxStar*settings.StarWidth)
    .html('
  • ');
    if(settings.Enabled)
    {
    var ListArray = ""
    for(k=1;k{
    ListArray ='
  • ';
    }
    container.find('.studyplay_starBg').append(ListArray)
    .find('.studyplay_starON').hover(function(){
    $ ("#studyplay_current" ).hide();
    $(this).removeClass('studyplay_starON').addClass("studyplay_starovering")
    },
    function(){
    $( this).removeClass( 'studyplay_starovering').addClass("studyplay_starON")
    $("#studyplay_current").show()
    })
    .click(function(){
    var Studyplay_count = settings.MaxStar - $(this).css("z-index") 1;
    $("#studyplay_current").width(studyplay_count*settings.StarWidth)
    //콜백 함수
    if (콜백 유형 == '함수') {
    callback(studyplay_count);
    return ;
    }
    })
    }
    }

  • 이 플러그인에는 두 가지가 있습니다. 첫 번째 매개변수는 플러그인의 일부 기본 설정을 나타내는 옵션이고, 콜백 함수는 사용자가 선택한 별 개수를 나타내는 매개변수를 갖습니다.
    3. 사용
    ID가 "z"인 div에 별 5개를 표시하려면 기본적으로 별 1개가 선택되고 별 개수를 선택하는 대화 상자가 나타납니다. 다음과 같이 팝업됩니다. 코드 작성:
    코드 복사 코드는 다음과 같습니다.



    평가 결과를 표시하려면 활성화를 false로 설정하면 됩니다.
    4. 코드 다운로드

    네티즌들은 이 문제가 Firefox에 존재한다고 보고했습니다. 수정했습니다. 주된 이유는 스타일의 li 태그 높이가 정의되지 않았기 때문입니다. 이제 수정되었습니다. 감사합니다. Firefox 개정판 다운로드 주소:

    star2.rar

    네티즌 여러분께 진심으로 감사드립니다세 번째 수정: 0.5점 채점 기능 추가사용 지침: 반은 0입니다. 1포인트 증가하면 1은 0.5 증가를 의미합니다.
    예: $("#z").studyplay_star({MaxStar:12,CurrentStar:2,Enabled:true,Half:1},function(value){ 경고(값)});
    다운로드 주소:
    halfstar2.rar

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.