ajax+cookie實現網易新聞頂一下效果。

來源:互聯網
上載者:User

ajax+cookie實現網易新聞頂一下效果。
<a href='網頁特效:get_top_num(1);'>頂一下</a>

ajax

function getCookie(c_name){ //檢測cookie
 if (document.cookie.length>0){
  c_start=document.cookie.indexOf(c_name + "=")
  if(c_start!=-1){
   c_start=c_start + c_name.length+1;
   c_end=document.cookie.indexOf(";",c_start);
   if(c_end==-1) c_end=document.cookie.length;
   return unescape(document.cookie.substring(c_start,c_end));
  }
 }
 return "";
}

function setCookie(c_name,value,expiredays){ //設定cookie
 var exdate=new Date();
 exdate.setDate(exdate.getDate()+expiredays);
 document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function createXMLHttpRequest(){ //建立XMLHttpRequest對象
 if(window.ActiveXObject){  //IE
  try {
   return new ActiveXObject("Microsoft.XMLHTTP");
  } catch(e){
   return;
  }
 }else if(window.XMLHttpRequest){ //Mozilla,firefox
  try {
   return new XMLHttpRequest();
  } catch(e){
   return;
  }
 }
}

function get_top_num(id){ //主調函數
 var get_top_cookie=getCookie('get_top_'+id+'_cookie');
 if(get_top_cookie!=null && get_top_cookie!=""){
  alert('此條評論你已經支援過了');
 }
 else{
  var xmlHttp=createXMLHttpRequest();
  var url = "action.php教程?action=top_num&id="+id;
  if (id==""){
   return false ;
  }
  if (xmlHttp){
   callback = getReadyStateHandler(xmlHttp,id);
   xmlHttp.onreadystatechange = callback;
   xmlHttp.open("GET", url,true);
   xmlHttp.send(null);
  }
  setCookie('get_top_'+id+'_cookie','istop',1);
 }
}

function getReadyStateHandler(xmlHttp,id){  //伺服器返回後處理函數
 var top_num = document.getElementById("top_num_"+id).innerHTML;
 return function (){
  if(xmlHttp.readyState == 4){
   if(xmlHttp.status == 200){
    if (xmlHttp.responseText==1){
     document.getElementById("top_num_"+id).innerHTML=Number(top_num)+1;
    }
   }
  }
 }
}

action.php檔案
是php mysql教程操作,由於簡單這裡主不作放代碼了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.