-3
<script type="text/javascript">
$('.star').mouseover(function (){
var star = $(this).index() 1;
$(this).parent().css("background-position","0 -" (32 * star) "px");
});

$('.star-rating').mouseout(function (){
var originalresult = $(this).attr('id').split('result')[1];
$(this).css("background-position","0 -" (32 * originalresult) "px");
});
</script>

<div class="star-rating" id="rating1result0">
<div class="star"></div>
<div class="star"></div>
<div class="star"></div>
<div class="star"></div>
<div class="star"></div>
</div>
<div class="result">
<span style="color:green">0</span> (0)
</div>              

次の 2 つのエラー メッセージが表示されます。

SyntaxError: 引数リストの後に ) がありません

$(this).parent().css("background-position","0 -" (32 * star) "px");

および SyntaxError: 行方不明; ステートメントの前に

var star = $(this).index() 1;
4

3 に答える 3

4
("background-position","0 -" (32 * star) "px"
                            X           X

エラーメッセージは少し誤解を招く可能性があります。)引用したコードの先頭にあるものと一致するものを探しています。1つ追加すると、別のエラーが発生します。問題は、でマークされた2つの場所にオペレーターが必要なことですX

あなたはおそらく探しています+(他の人は構文的に有効ですが、文脈ではあまり役に立ちませんが)

var star = $(this).index() 1;

ここでも同様の問題があります。1繰り返しますが、インデックスに追加したいようです。

于 2013-01-13T12:28:54.117 に答える
1

連結演算子を導入する必要がある+ため、正しいコード行は次のとおりです。

var star = $(this).index() + 1;
$(this).parent().css("background-position","0 -" +(32 * star)+ "px");
$(this).css("background-position","0 -" +(32 * originalresult) +"px");

このコードを試してください:

<script type="text/javascript">
$('.star').mouseover(function (){
var star = $(this).index() + 1;
$(this).parent().css("background-position","0 -" +(32 * star)+ "px");
});

$('.star-rating').mouseout(function (){
var originalresult = $(this).attr('id').split('result')[1];
$(this).css("background-position","0 -" +(32 * originalresult) +"px");
});
</script>

<div class="star-rating" id="rating1result0">
<div class="star"></div>
<div class="star"></div>
<div class="star"></div>
<div class="star"></div>
<div class="star"></div>
</div>
<div class="result">
<span style="color:green">0</span> (0)
</div>        
于 2013-01-13T12:39:24.287 に答える
1

JavaScript では、+ を連結演算子として使用する必要があります。

http://www.w3resource.com/javascript/operators/string-operator.php

<script type="text/javascript">
$('.star').mouseover(function (){
    var star = $(this).index() + 1;
    $(this).parent().css("background-position","0 -" + (32 * star) + "px");
});

$('.star-rating').mouseout(function (){
    var originalresult = $(this).attr('id').split('result')[1];
    $(this).css("background-position","0 -" + (32 * originalresult) + "px");
});
</script>

<div class="star-rating" id="rating1result0">
<div class="star"></div>
<div class="star"></div>
<div class="star"></div>
<div class="star"></div>
<div class="star"></div>
</div>
<div class="result">
<span style="color:green">0</span> (0)
</div>              
于 2013-01-13T12:33:05.390 に答える