2013-04-27 28 views
0

嗨,我正在一個項目的投票腳本。 正如你在這個腳本中所想的那樣,我正在嘗試用戶不要在24小時內投票超過1個。 我有一個PHP部分,它的工作原理我記錄用戶的IP和投票時間。 在PHP部分我也返回總票數後增加。 和jquery部分我想把這個數字放到一個小盒子裏。 我創建了一個JavaScript變量,也使整jquery變量不按時回答

myApp={}; 

和我把它jQuery的返回值這樣

myApp.vote=parseInt(result); 

例如,如果網站的總投票數爲10,當用戶點擊投票結果提醒11後完成後(寄託都在途中),然後我把這個數字將myApp.vote我也希望把這個數字在跨度這樣

$(this).parent().parent().parent().children("#bar-3").find(".bar-percent").eq(0).html(myApp.vote); 

這裏PR oblem開始在跨度舊票號(10)jQuery的看跌期權,但它必須是11

$(document).on("click", ".up", function(){ 
var vote; 
var siteId=$(this).parent().parent().parent().find(".g6").attr("siteid"); 
if(myApp.siteId!=siteId){ 



$.post("vote.php", { 
    siteId: siteId, 
    vote:"up" 
}, function (result) { 
    alert(result); 
    myApp={}; 
    myApp.vote=parseInt(result); 


    }); 
$(this).parent().parent().parent().children("#bar-3").find(".bar-percent").eq(0).html(myApp.vote); 
$(this).parent().parent().parent().children("#bar-3").find(".bar-percent").eq(0).animate({ 
    backgroundColor: "#FFFF00", 

    }, 200, function() { 
    // Animation complete. 
    }); 



$(this).parent().parent().parent().children("#bar-3").find(".bar-percent").eq(0).animate({ 
    backgroundColor: "#FFFFFF", 

    }, 1000, function() { 
    // Animation complete. 
    }); 


}else if(myApp.siteId==siteId){ 
$(this).parent().append("<span>already voted </span>").children("span").addClass("alreadyVoted").animate({ 
opacity: 0, 


}, 2000, function() { 
// Animation complete. 
});; 

}; 



myApp.siteId=siteId; 

當我試圖把它們放進之間的HTML調用的話,我無法選擇它,因爲$(這)沒有引用任何東西這是我的HTML部分我想選擇1311,但我couldnot做

<div class="home_img_box p10 mt10"> 
<div class="g6" siteid="144"> 
<img class="syn_img" src="../sI/s/youtube_com-13-04-22.jpg"> 
</div> 
<div class="g5"> 
<h3 class="handle"> 
youtube 
<img id="up" class="up" src="./images/up.png"> 
<img class="down" src="./images/down.png"> 
</h3> 
<p>youtube</p> 
</div> 
<img class="hit" src="./images/hit.png" alt="Hit"> 
<img class="vote" src="./images/vote.png" alt="Hit"> 
<div id="bar-1" class="jbar jbarPr jqbar horizontal" pr="9"> 
<span class="bar-label">PR</span> 
<span class="bar-level-wrapper"> 
<span class="bar-level" data-value="9" style="height: 10px; width: 27px; background-color: rgb(214, 71, 71);"></span> 
</span> 
<span class="bar-percent">9</span> 
</div> 
<div id="bar-2" class="jbar jbarHit jqbar horizontal" hit="1254"> 
<span class="bar-label"></span> 
<span class="bar-level-wrapper"> 
<span class="bar-level" data-value="1254" style="height: 10px; width: 0px; background-color: rgb(58, 137, 201);"></span> 
</span> 
<span class="bar-percent">1254</span> 
</div> 
<div id="bar-3" class="jbar jbarVote jqbar horizontal" vote="1311"> 
<span class="bar-label"></span> 
<span class="bar-level-wrapper"> 
<span class="bar-level" data-value="1311" style="height: 10px; width: 0px; background-color: rgb(58, 137, 201);"></span> 
</span> 
<span class="bar-percent">1311</span> 
</div> 
</div> 

回答

1

把你傳送到$.post回調在您html電話。現在,您正在開始請求,然後執行動畫,而無需等待請求完成。

+0

但是這一次我不能選擇它們,因爲$(this)沒有引用anyhing – synan54 2013-04-28 00:09:04

+0

@ synan54:將'$(this)'保存在回調之外的變量中並在回調中使用該變量。 – icktoofay 2013-04-28 00:11:52

+0

非常感謝你的作品 – synan54 2013-04-28 00:23:31