网页制作免费教程站—个人网页 建站教程 建站资源 免费建站资源 个人网页制作教程 个人网页制作 ——网页制作与网页设计教程网

域名注册 - 虚拟主机 - 企业邮局 - 网页制作   China silk carpet(rug)
关键字: - 设置首页 - 加入收藏
业界新闻 建站指南 网页制作 动画制作 网页特效 网络编程 书籍教程 网页素材 视频教程

超值套餐A型

110M 送cn

超值套餐B型

220M 送cn

超值套餐C型

350M 送cn

超值套餐D型

450M 送cn

超值套餐E型

300M 送com

超值套餐F型

400M 送com

超值套餐G型

500M 送com

超值套餐H型

600M 送com


Javascript+ASP打造无刷新新闻列表


2007-3-13 12:41:21 来源:本站 评论:


如上图所示的新闻列表在各大网站中并不少见,有了新闻列表就少不了分页,今天我们要谈的就是各分页间的切换方式。传统的方法是将页码以URL参数的形式传到列表页,列表页内程序根据传入的参数来显示不同的内容,这之间就有了一次刷新。然而很多时候页面中的新闻列表只占该页布局的一小部分,分了更新这小部分的内容却得刷新整个页面的内容,有人抗议了,于是之后就有人采用XMLHTTP、AJAX等技术来实现无刷新更新列表。今天我们也要实现无刷新更新列表,但不使用XMLHTTP、AJAX等新技术,只使用传统的Javascript和ASP语言来实现。

Javascript+ASP打造无刷新新闻列表

图1 最终效果图

  一、问题的提出

  公司网站要更新,前台昨天做完了,今天由我套程序,图1为公司新闻页中的新闻列表,看到它就突发奇想:做为网络公司的网站应该有点技术含量才行,那今天这列表也来玩玩无刷新。要达到只在局部进行更新,其实用浮动框架(iframe)也能做到,但是这个页面有背景图片且图案不是规则的,用浮动框架很难达到背景统一;那用XMLHTTP、AJAX?可惜这两个也只是接触一点皮毛,要用它们来实现无刷新还得翻阅一些资料,我也不想用它,因为我想到了用 JavaScript+ASP也可以实现的,虽然思路暂时不是很清晰,但相信一定能行!

  二、分析问题

  有玩过动网的人应该知道它在注册和登录页中都有验证码这一项,这验证码还有个功能:当数字不是很清晰时你可以用左键点击一下验证码,就能刷新成新的验证码了。注意,只刷新验证码,页面其他部分没刷新哦!以前我专门针对这个研究了好久,查阅了资料,后来总结成一篇文章叫"script调用asp实现过程",有兴趣的朋友务必先看看,要不下边的您可能就看得不太明白了。

  看了"script调用asp实现过程"再回头想想动网的验证码,您也大概知道我要怎么做了吧,呵呵。我们继续说,下边我们先来分析下图1中列表处的代码,代码如下:

  <div ID="titleLiNews">
  <ul>
    <li><a href="#">于召开宽带异常掉线研究试点工作讨论会的通知</a> (2005-01-12)</li>
    <li><a href="#">做好2005年中秋节网络监控和话务疏通工作的要</a>... (2005-01-12)</li>
    <li><a href="#">于要求做好中秋务高峰期间智能网业务通信保障相关</a>...(2005-01-12)</li>
    <li><a href="#">加强防御第15号台风“卡努”的紧急通知</a>(2005-01-12)</li>
    <li><a href="#">地下载9月第2周话单方式的ADSL掉线统计及清</a>...(2005-01-12)</li>
    <li><a href="#">于要求做好中秋务高峰期间智能网业务通信保障相关</a>...(2003-01-12)</li>
    <li><a href="#">于加强防御第15号台风“卡努”的紧急通知</a>(2007-10-12)</li>
    <li><a href="#">于召开宽带异常掉线研究试点工作讨论会的通知</a> (2005-01-12)</li>
    <li><a href="#">做好2005年中秋节网络监控和话务疏通工作的要</a>... (2005-01-12)</li>
    <li><a href="#">于要求做好中秋务高峰期间智能网业务通信保障相关</a>...(2005-01-12)</li>   
  </ul>
</div>

  在tianxia.css文件中我还找到了控制它的样式:

  #titleLiNews {
}
#titleLiNews ul {
list-style-type: none;
margin: 0px;
padding: 0px;
width: 550px;
}
#titleLiNews ul li {
font-size: 9px;
line-height: 21px;
color: #0099FF;
text-decoration: none;
background-image: url(images/line02.jpg);
background-repeat: no-repeat;
margin: 0px 10px 0px 20px;
padding: 0px;
font-family: "Verdana", "Arial", "Helvetica", "sans-serif";
list-style-position: inside;
list-style-type: disc;
border-bottom-width: 1px;
border-bottom-style: dotted;
border-bottom-color: #0051A2;
}
#titleLiNews ul li a {
color: #FFFFFF;
text-decoration: none;
font-size: 12px;
}
#titleLiNews ul li a:hover {
color: #FFFF00;
text-decoration: underline;
font-size: 12px;
}

  ID类、伪类,看这些样式,我不得不想到Web标准,我想美工在Web标准上也是下过功夫的,不由得对他又多了些敬佩。OK,结合上边全部听到的看到的,我们不难想出这么一条思路:设计一个ASP页面,这个页面可接受参数即显示页数,该页程序查询数据库后根据参数进行分页并将结果以JS语法输出,公司新闻页中只须加一条语句调用即可。

  三、解决问题

  假设公司新闻页文件名:news.asp、查询页文件名:newslit.asp。

  news.asp主要代码如下:

  <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>公司新闻</title>
<script language="JavaScript" type="text/javascript">
function showpage(n){
document.scripts[1].src = "newslist.asp?page_no=" + n;
}
</script>
<script language="JavaScript" type="text/javascript" src=""></script>
</head>
<body>
<div ID="titleLiNews">
</div>
<a href="javascript:showpage(1);">1</a>& nbsp;<a href="javascript:showpage(2);">2</a>& nbsp;<a href="javascript:showpage(3);">3</a>
<script language="JavaScript" type="text/javascript">showpage(1);</script>
</body>
</html>

  newslist.asp代码

  <%
Dim conn
Set conn=server.createobject("ADODB.connection")
conn.connectionstring="provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("db1.mdb")
conn.open
Dim page_no,sqlstr,rs,i,str
page_no = request.querystring("page_no")
Sqlstr = "select * from news"
Set rs = Server.CreateObject("ADODB.RecordSet")
Rs.open sqlstr,conn,1,2
Rs.pagesize = 3
Rs.absolutepage = page_no
Str = "document.getElementById('titleLiNews').innerHTML = ""<Ul>"
If rs.eof then str = str & "<li>暂无新闻</li>" & "</Ul>';"
i = 3
Do while not rs.eof and i > 0
i = i-1
str = str & "<li><a href='newsview.asp?id=" & rs("id") & "'>" & rs("title") & "</a></li>"
rs.movenext
Loop
str = str & "</Ul>"";"
set rs=nothing
set conn = nothing
Response.write str
%>

  四、后记

  从"动网验证码"到"script调用asp实现过程"再到"Javascript+ASP打造无刷新新闻列表",我们可以举一反三,例如注册用户时无刷新判断用户名是否被注册、无刷新表单验证等都可以用Javascript+ASP来实现了。


相关文章
·暂无
正在读取…
我也评两句

   





ColdFusion主机
ColdFusion空间



MySQL数据库


SQL Server 2000数据库
SQL Server 2000数据库
 
必胜客比萨 比萨饼 比萨的做法 必胜客比萨 pizza制作 铁盘比萨 铁盘批萨 必胜客批萨 比萨饼 比萨的做法 铁盘 pizza 批萨饼 制作比萨|披萨 批萨的做法 比萨饼店加盟 加盟比萨 Pizza培训 Pizza制作方法 Pizza学习 披萨学习 披萨制作方法 烘焙专业 西式快餐 全日班(专业铁盘比萨) 1、按品种授课:28种口味; 2、10种款式; 3、铁盘必胜客比萨配方; 4、比萨酱的运用; 5、全部实际操作; 6、比萨半成品保鲜技术; 7、设备、原料及购买渠道; 8、统一书面教材; 9、饮料、面、汤、小吃等; 10、多媒体教学,手把手传授。 ■课程详细内容: 1、比萨理论知识,让你熟练掌握比萨面粉、发酵粉及比萨其他用品和厨房用品的应用原理; 2、充足的实际操作让你熟练掌握比萨饼从和面(Dough making),发酵,完整的比萨成本预算方法,一直到烘焙为成品的全套制作工艺,使你达到独立熟练制作比萨饼的水平。 3、实际参观厨房设备市场,帮助分析当地的消费水平,给予比萨设备和原料的型号及价格、采购渠道以及比萨部门管理、厨房总体管理等完整知识。 4、了解各种美味比萨制作的方法及专业的比萨面皮制作知识。 5、帮助分析店铺筹建流程和成本预算,让你无须经验也可以胸有成竹的开比萨饼店。
出售德国牧羊犬,出售红泰迪,出售罗威纳,出售边境牧羊犬,出售阿拉斯加,德国牧羊犬价格,红泰迪价格,罗威纳价格,边境牧羊犬价格,阿拉斯加价格,纯种边境牧羊犬,牧羊犬,边境牧羊犬仔,牧羊犬仔,上海牧羊犬仔