Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在一次评级后禁用评级星_Javascript_Jquery - Fatal编程技术网

Javascript 在一次评级后禁用评级星

Javascript 在一次评级后禁用评级星,javascript,jquery,Javascript,Jquery,嗨,我想把我的网页上的评级星。 它工作正常。正在将评级添加到数据库中 但是用户可以一次又一次地进行评分。 我想明星们应该禁用后率一次。 这是我的密码。请帮帮我谢谢你 <!DOCTYPE html> <html lang="en"> <head> <link href="http://online-btw-berekenen.nl/rating/rating.css" rel="stylesheet" type="text/css"> <sc

嗨,我想把我的网页上的评级星。 它工作正常。正在将评级添加到数据库中 但是用户可以一次又一次地进行评分。 我想明星们应该禁用后率一次。 这是我的密码。请帮帮我谢谢你

<!DOCTYPE html>
<html lang="en">

<head>
<link href="http://online-btw-berekenen.nl/rating/rating.css" rel="stylesheet" type="text/css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="http://online-btw-berekenen.nl/rating/rating.js"></script>
<script language="javascript" type="text/javascript">
$(function() {
    $("#rating_star").codexworld_rating_widget({
        starLength: '5',
        initialValue: '',
        callbackFunctionName: 'processRating',
        imageDirectory: 'images/',
        inputAttr: 'postID'
    });
});

function processRating(val, attrVal){
    $.ajax({
        type: 'POST',
        url: 'rating.php',
        data: 'postID='+attrVal+'&ratingPoints='+val,
        dataType: 'json',
        success : function(data) {
            if (data.status == 'ok') {
                alert('You have rated '+val+' to CodexWorld');
                $('#avgrat').text(data.average_rating);
                $('#totalrat').text(data.rating_number);
            }else{
                alert('Some problem occured, please try again.');
            }
        }
    });
}
</script>
<style type="text/css">
    .overall-rating{font-size: 14px;margin-top: 5px;color: #8e8d8d;}
</style>
</head>
<body style="background-color:black">
    <h1>Give us star</h1>
    <input name="rating" value="0" id="rating_star" type="hidden" postID="1" />
    <div class="overall-rating">(Average Rating <span id="avgrat"><?php echo $ratingRow['average_rating']; ?></span>
Based on <span id="totalrat"><?php echo $ratingRow['rating_number']; ?></span>  rating)</span></div>

</body>
</html>

$(函数(){
$(“#评级明星”).codexworld_评级小部件({
星长:'5',
初始值:“”,
callbackFunctionName:'processRating',
imageDirectory:'images/',
InputTR:“posted”
});
});
函数processRating(val,attrVal){
$.ajax({
键入:“POST”,
url:'rating.php',
数据:“postID=”+attrVal+”&评级点=”+val,
数据类型:“json”,
成功:功能(数据){
如果(data.status=='ok'){
警报(“您对CodexWorld的评级为“+val+”);
$('avgrat')。文本(数据。平均评分);
$('totalrat').text(数据、评级编号);
}否则{
警报('出现问题,请重试');
}
}
});
}
.整体评级{字体大小:14px;页边顶部:5px;颜色:#8e8d8d;}
给我们星星
(平均评级)
(基于评级)
在javascript中单击并悬停函数

(function(a){
    a.fn.codexworld_rating_widget = function(p){
        var p = p||{};
        var b = p&&p.starLength?p.starLength:"5";
        var c = p&&p.callbackFunctionName?p.callbackFunctionName:"";
        var e = p&&p.initialValue?p.initialValue:"0";
        var d = p&&p.imageDirectory?p.imageDirectory:"images";
        var r = p&&p.inputAttr?p.inputAttr:"";
        var f = e;
        var g = a(this);
        b = parseInt(b);
        init();
        g.next("ul").children("li").hover(function(){
            $(this).parent().children("li").css('background-position','0px 0px');
            var a = $(this).parent().children("li").index($(this));
            $(this).parent().children("li").slice(0,a+1).css('background-position','0px -28px')
        },function(){});
        g.next("ul").children("li").click(function(){
            var a = $(this).parent().children("li").index($(this));
            var attrVal = (r != '')?g.attr(r):'';
            f = a+1;
            g.val(f);
            if(c != ""){
                eval(c+"("+g.val()+", "+attrVal+")")
            }
        });
        g.next("ul").hover(function(){},function(){
            if(f == ""){
                $(this).children("li").slice(0,f).css('background-position','0px 0px')
            }else{
                $(this).children("li").css('background-position','0px 0px');
                $(this).children("li").slice(0,f).css('background-position','0px -28px')
            }
        });
        function init(){
            $('<div style="clear:both;"></div>').insertAfter(g);
            g.css("float","left");
            var a = $("<ul>");
            a.addClass("codexworld_rating_widget");
            for(var i=1;i<=b;i++){
                a.append('<li style="background-image:url('+d+'/widget_star.gif)"><span>'+i+'</span></li>')
            }
            a.insertAfter(g);
            if(e != ""){
                f = e;
                g.val(e);
                g.next("ul").children("li").slice(0,f).css('background-position','0px -28px')
            }
        }
    }
})(jQuery);
(功能(a){
a、 fn.codexworld\u rating\u widget=函数(p){
var p=p |{};
var b=p&p.starLength?p.starLength:“5”;
var c=p&&p.callbackFunctionName?p.callbackFunctionName:“”;
变量e=p&p.initialValue?p.initialValue:“0”;
var d=p&&p.imageDirectory?p.imageDirectory:“图像”;
var r=p&&p.inputtr?p.inputtr:“”;
var f=e;
var g=a(本);
b=parseInt(b);
init();
g、 下一个(“ul”).子对象(“li”).悬停(函数(){
$(this.parent().children(“li”).css('background-position','0px 0px');
var a=$(this.parent().children(“li”).index($(this));
$(this).parent().children(“li”).slice(0,a+1).css('background-position','0px-28px'))
},函数(){});
g、 下一步(“ul”)。子项(“li”)。单击(函数(){
var a=$(this.parent().children(“li”).index($(this));
变量attrVal=(r!=“”)?g.attr(r):“”;
f=a+1;
g、 val(f);
如果(c!=“”){
评估(c+“(“+g.val()+”,“+attrVal+”)
}
});
g、 next(“ul”).hover(function(){},function(){
如果(f==“”){
$(this).children(“li”).slice(0,f).css('background-position','0px 0px'))
}否则{
$(this.children(“li”).css('background-position','0px 0px');
$(this).children(“li”).slice(0,f).css('background-position','0px-28px'))
}
});
函数init(){
$('')。插入后面(g);
g、 css(“浮动”、“左”);
变量a=$(“
    ”); a、 addClass(“codexworld_rating_widget”);
    对于(var i=1;i确定,在单击处理程序中,只需使用jquery off()方法删除单击事件侦听器。

    在用户成功选择(记录)评级后,有几个步骤可以禁用单击和悬停事件:

    为ajax成功添加一行代码

    success : function(data) {
        if (data.status == 'ok') {
            alert('You have rated '+val+' to CodexWorld');
            $('#avgrat').text(data.average_rating);
            $('#totalrat').text(data.rating_number);
            $('.codexworld_rating_widget').addClass('already_set');
        }else{...
    
    然后添加一个函数来禁用每个悬停并单击“”脚本中的
  • 。请参见下面的示例:

    g.next("ul").children("li").hover(function(){
        if ('.codexworld_rating_widget.alreadyset') {
            $('.codexworld_rating_widget').off('click','li').off('hover','li');
        }else{
    
           // original script goes here
        });
    
    });
    

    无论如何,如果不建立沙箱,我无法测试它,所以…希望它能帮助你找到正确的方向。

    你在哪里处理点击星星?@FanyoSILIADIN我添加了点击js。请检查你是否提到了原始脚本。你能告诉我哪个原始脚本吗?