Javascript ajax調用新聞內容並顯示

來源:互聯網
上載者:User

html如下,我們這個頁面讓dedecms調用資料新聞標籤

 代碼如下 複製代碼

dedecms模板標籤是否樣

 {dede:arclist typeid='3' row='6' orderby='id'}                           
                                  <li data-value="url(/images/20131107153016.jpg)">
                                        <span class="txtBG"> </span>
                                        <span class="txt"><a href="javascript:;" onClick="getnewscontent([field:id /])">[field:title /]</a></span>
                                    </li>
{/dede:arclist}

產生html後頁面如下

 代碼如下 複製代碼


<li data-value="url(/images/20131107153016.jpg)">
<span class="txtBG"> </span>
<span class="txt"><a href="javascript:;" onClick="getnewscontent(1)">你好我是www.111cn.net</a></span>
</li>
<li data-value="url(/images/20131107153016.jpg)">
<span class="txtBG"> </span>
<span class="txt"><a href="javascript:;" onClick="getnewscontent(2)">你好我是www.111cn.net</a></span>
</li>

在上面兩句我們要注意有一個onClick="getnewscontent(2)" 裡面有一個數字,這個就是我們的新聞ID了,現在我們看getnewscontent() 這個函數

 代碼如下 複製代碼

var xmlHttp
function getnewscontent(newsid)
{
 xmlHttp=GetXmlHttpObject()
 if (xmlHttp==null)
 {
   alert ("Browser does not support HTTP Request")
   return false;
 }
 
 var url="/getnewscontent.php"
 url=url+"?id="+newsid
 url=url+"&sid="+Math.random()
 xmlHttp.onreadystatechange=stateChanged_n
 xmlHttp.open("GET",url,true)
 xmlHttp.send(null)
}

function stateChanged_n()
{
 if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 {
  var restext=xmlHttp.responseText;
  document.getElementById('news_scroll').innerHTML=restext;
  $('#news_detail').animate({ 'left': 0 }, 500, 'easeOutQuint');
 }
}

代碼非常的簡單,我們只要利用ajax調用getnewscontent.php,然後再由getnewscontent.php傳回值之後我們再把值給news_scroll這個div了,在後面加了一個動態效果$('#news_detail').animate({ 'left': 0 }, 500, 'easeOutQuint'); 這句是基於jquery 的,如果你不加可能沒有效果大家還是加一下。

getnewscontent.php

 代碼如下 複製代碼

<?php
$id =isset($_GET['id'])?intval($_GET['id']):0;
if( $id )
{
 include("data/common.inc.php");
 mysql_connect('localhost',$cfg_dbuser,$cfg_dbpwd) or die('database connect failer');
 mysql_select_db($cfg_dbname);
 mysql_query("set Names '$cfg_db_language'");
 $sql ="select * from ".$cfg_dbprefix.'addonarticle'.' where aid ='.$id;
 $query = mysql_query( $sql ) or die($sql);
 if( mysql_num_rows( $query ) )
 {
  $rs = mysql_fetch_array( $query );
  echo $rs['body'];
 }
 else
 {
  echo '參數錯誤或記錄己被刪除!';
 }
}
else
{
 echo '參數錯誤或記錄己被刪除!';
}
?>

這樣就搞寫了哦,快去試一下吧

注意一下 news_scroll 這個ID哦,如 <div id="news_scroll">這裡面是動態要顯示的資料哦</div> 也是點擊新聞ID返回的數值了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.