28,391
社区成员
发帖
与我相关
我的任务
分享
<!--#include file="conn.asp"-->
<%
'注意:此上不要加任何HTML代码,连库文件conn.asp的代码中也不能有;否则程序需要改动,或用新文件做AJAX后台
'我写到本页是为了方便
'-----------------------AJAX start----------------------------------------
Response.CharSet="gb2312"
flag=Request.QueryString("flag")
if len(flag)>0 then
Response.Write getdata
Response.End
end if
id=Request.QueryString("id")
if len(id)>0 then
sName=Request.QueryString("sName")
sTel=Request.QueryString("sTel")
Response.Write alterdata(sName,sTel)
Response.End
end if
currentTop=Request.QueryString("currentTop")
if len(currentTop)>0 then
application("currentTop")=currentTop
Response.Write application("currentTop")
Response.End
end if
function getdata()
on error resume next
dim s
set rs = server.CreateObject("adodb.recordset")
sql = "select M_tel from Member order by id"
rs.Open sql,Conn,1,1
do while not rs.Eof
if s="" then s=rs("M_tel") else s=s&"|"&rs("M_tel")
rs.movenext
loop
rs.close
if len(s)>0 then r = Split(s,"|")
dim starttime,ssss
sql = "select C_start,C_end from choujiang where id=1"
rs.Open sql,conn,1,1
if not rs.EOF then
starttime=rs("C_start"): endtime=rs("C_end")
else
starttime="infinite": endtime="infinite"
end if
rs.close
set rs=nothing
'将数据、开始时间、结束时间、服务器时间一起返回给前台
s=s&","&starttime&","&endtime&","&now()
if s="" then s="NULL"
getdata=s
if err then getdata="@error:"&err.Description
end function
function alterdata(sName,sTel)
on error resume next
sql="INSERT INTO [Member](M_name,M_tel) VALUES('"&sName&"','"&sTel&"')"
conn.execute sql
alterdata="OK"
if err then alterdata="@error:"&err.Description
end function
'-----------------------AJAX END----------------------------------------
'单台机测试用:
application("currentTop")=110
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>toury'test demo</title>
<style type="text/css">
#container {line-height: 22px;height: 22px;width: 300px;overflow: hidden;font-size: 12px;}
#container #marquee {top: 0px;line-height: 22px;vertical-align: middle;}
</style>
<script language="javascript" type="text/javascript">
function $(id){return document.getElementById(id)}
/********************************************************************
/* AJAX *
/*******************************************************************/
function getXMLHTTPObj(){
var xmlHttp=null;
try{xmlHttp=new XMLHttpRequest();}
catch (MSIEx){
try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch (e){
try{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
catch(e){alert('您的浏览器不支持AJAX!');}
}
}
return xmlHttp;
}
function myAjax(url,flag){
var x = getXMLHTTPObj();
x.onreadystatechange=function(){
if(x.readyState==4){
if(x.status==200){
ret=x.responseText;
x=null;
if(ret.indexOf('@error:')!=-1){ alert('出现错误:'+ret.replace('@error:','')); return; }
switch(flag){
case "getdata":
if (ret!="NULL"){
var arr=ret.split(',')
handledata(arr[0],arr[1],arr[2],arr[3])//数据,开始时间,结束时间,服务器时间
arr=arr[0].split('|')
$("abc").innerHTML=arr.join('<br>')//调试用,用后删除
}
break;
case "currentTop"://调试用,用后删除
$("abcd").innerHTML +="-------各客户端同步显示的application:"+ret
break
case "alterdata"://*********************模拟后台改变数据,调试后删除
//alert(ret)
break;
}
}
}
}
x.open('GET',url,true);
x.setRequestHeader("Content-Type","text/XML");
x.send(null);
}
/********************************************************************
/* 处理数据 *
/*******************************************************************/
function handledata(s,startTime,endTime,svrTime){
if(!s||s.length==0)return
//以服务器时间为准,处理滚动开始时间、结束时间
//这个很简单你自己先试着做做,就是根据开始时间、结束时间与服务器时间比较的结果决定是继续程序,还是删除定时器
//.....................
//滚动数据处理
rollwords=s
if(lineWord==0){
rollCount=rollwords.split("|").length
rollwords=rollwords.replace(/\|/g,'<br>');
boxHeight=(rollCount+1)*lineHeight+Math.round(lineHeight/2);//数据层高度
}
else{
var arrRollWords=rollwords.split("|");
rollwords="";
var tempNum=0;
for(var j=0;j<arrRollWords.length;j++){
if(arrRollWords[j]=="") continue;
var t=arrRollWords[j].length/lineWord;
var tNum=0;
if(t>1){
if(t%1==0){ tNum+=t; } else{ tNum+=Math.round(t)+1; }
}
for(var i=0;i<tNum;i++){ rollwords+=arrRollWords[j].substr(i*lineWord,lineWord)+'<br>'; }
rollwords+=arrRollWords[j]+(j==arrRollWords.length-1?"":'<br>');
tempNum+=tNum;
}
boxHeight=(arrRollWords.length+tempNum+2)*lineHeight;//数据层高度
}
with(marquee){ style.height=boxHeight; style.width=300; }
marquee.innerHTML="<br>"+rollwords+"<br>"; //数据写入滚动层
}
/********************************************************************
/* 滚动器 *
/*******************************************************************/
function upRoller(){
if(rollwords.length==0)return
if(stopscroll) return;
if(currentTop<=boxHeight-lineHeight){
currentTop +=1;//滚动速度,每次滚动px数
}
else{currentTop=0;}
container.scrollTop=currentTop;
$("abcd").innerHTML=defaultTop+'-----'+currentTop//调试用,用后删除
if(currentTop%lineHeight==0&¤tTop!=0&¤tTop!=boxHeight-lineHeight){
clearInterval(tRollerID);
currentID++//当前的数据位置
currentID=rollCount<currentID?1:currentID//大于数据条数重置
myAjax("1.asp?currentTop="+currentTop+"&t="+new Date().getTime(),'currentTop')
setTimeout("init()",1500);//停顿时间
}
}
function init(){ tRollerID=setInterval(upRoller,30); }//滚动间隔;
/********************************************************************
/* 全局变量 *
/*******************************************************************/
var rollwords='';//要滚动的文字
var rollCount=0;//数据条数
var currentID=1;//当前的数据ID(位置),默认为1
var tRollerID=0;//滚动计时器句柄
var tAjaxID=0;//Ajax计时器句柄
var lineHeight=22;//显示的层高
var lineWord=0;//40;长字串需要分行显示时使用. 0表示不考虑
var marquee=null, container=null;
var stopscroll=false;//停止滚动标志
var currentTop=-lineHeight;//滚动数据层的位置
var defaultTop=0;//滚动数据层的同步统一位置
var boxHeight=0//全部数据层的高度
window.onload=function(){
//页面加载后初始化一些数据、参数、对象等
marquee=$("marquee"), container=$("container");
$("container").onmouseover = function(){'stopscroll = true';}
$("container").onmouseout = new Function('stopscroll = false');
container.scrollTop=0;
//-------各客户端同步显示处理
defaultTop='<%=application("currentTop")%>';
defaultTop=defaultTop.length>0?defaultTop*1:currentTop
currentTop=defaultTop-1;
//取数据
myAjax("1.asp?flag=y&t="+new Date().getTime(),'getdata')
var n=5000;
//间隔n秒执行AJAX 取后台数据。
tAjaxID=setInterval("myAjax('1.asp?flag=y&t="+new Date().getTime()+"','getdata')",n)
//处理文字滚动.
init();
}
</script>
</head>
<body>
<div id="container">
<div id="marquee"></div>
</div>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
-------------------------------------------------------------------------------------------------------------
<br>调试用,用后删除<br><br><br>
姓名:<input type=text id='sName' />
电话:<input type=text id='sTel' />
<input type=button value="模拟后台更改数据" onclick="if($('sName').value==''||$('sName').value==''){alert('别空着!');return;};AlterData($('sName').value,$('sTel').value);">
<div id=abc style='border:1px solid red;'></div>
<div id=abcd style='border:1px solid blue;'></div>
<br>-------------------------------------------------------------------------------------------------------------<br>
</body>
</html>
<SCRIPT LANGUAGE=javascript>
//模拟后台改变数据,调试后删除
<!--
function AlterData(sName,sTel){
myAjax("1.asp?id=1&sName="+sName+"&sTel="+sTel+"&t="+new Date().getTime(),'alterdata')
}
//-->
</SCRIPT>
<!--#include file="../include/function.asp"-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<%
'开始时间
sstr=""
Dim rsLink2,linksql2
dim starttime,ssss
set rs01 = server.CreateObject("adodb.recordset")
sql01 = "select C_start from choujiang where id=1"
rs01.Open sql01,Conn,0,1
starttime=rs01("C_start")
ssss=datediff("s",rs01("C_start"),now)
sql="select M_tel from Member order by id"
set rs=conn.execute(sql)
dim str
if not rs.bof and not rs.eof then
do while not rs.bof and not rs.eof
str=str&rs("M_tel")&"|"
rs.movenext
loop
aaa=split(str,"|")
num=ubound(aaa)+1
num1=ssss mod num
'response.Write(num1)
'response.End()
for i=0 to 9
sstr=sstr&aaa(num1-1)&" "
if num1+1>=num then
num1=0
end if
num1=num1+1
i=i+1
next
response.write sstr
else
response.write "0"
end if
%>
<!--#include file="../include/function.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>显示页</title>
<style type="text/css" media="all">
.d1 {
margin:0px auto;
width:670px;
background-color:#ffffff;
height:auto;
overflow:hidden;
white-space:nowrap;
}
.d2 {
margin:0px auto;
background-color:#FF9933;
}
.div2 {
width:auto;
height:auto;
font-size:12px;
float:left;
overflow:hidden;
}
ul{
margin:0px;
padding:0px;
list-style:none;
line-height:19px;
font-size:12px;
}
a:link,a:visited{
color:#3F78CF;
text-decoration:none;
}
a:hover{
color:#FF00CC;
text-decoration:underline;
}
.STYLE1 {color: #FF0000}
</style>
<script language="javascript" type="text/javascript">
var s,s2,s3,s4,timer;
function init(){
s=getid("div1");
s2=getid("div2");
s3=getid("div3");
s4=getid("scroll");
s4.style.width=(s2.offsetWidth*2+100)+"px";
s3.innerHTML=s2.innerHTML;
timer=setInterval(mar,10)
}
function mar(){
if(s2.offsetWidth<=s.scrollLeft){
s.scrollLeft-=s2.offsetWidth;
}else{s.scrollLeft++;}
}
function getid(id){
return document.getElementById(id);
}
//window.onload=init;
</script>
<%
aaa=""
set rsLink2 = server.CreateObject("adodb.recordset")
linksql2 = "select M_tel from Member order by id"
rsLink2.Open linksql2,Conn,0,1
If not rsLink2.Eof Then
do while not rsLink2.Eof
if aaa="" then
aaa=rsLink2("M_tel")
else
aaa=aaa&"|"&rsLink2("M_tel")
end if
r = Split(aaa,"|")
rsLink2.movenext
loop
End if
rsLink2.close
set rsLink2 = nothing
%>
<%
Dim rsLink2,linksql2
dim starttime,ssss
set rs01 = server.CreateObject("adodb.recordset")
sql01 = "select C_start from choujiang where id=1"
rs01.Open sql01,Conn,0,1
starttime=rs01("C_start")
%>
<!----------------------------------------------------------------------------------------防沉迷开始--->
<script>
var xmlHttp;
function jianli(){
try {
xmlHttp = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = null;
}
}
}
}
//------------------------------------------
function aaa2(){
jianli();
if(xmlHttp!=null){
xmlHttp.open("get","2.asp",true); //传递给处理页面
xmlHttp.onreadystatechange=aaa_panduan2;
xmlHttp.send(null);
}
else{
jianli();
aaa2();
}
}
//------------------------------------------
function aaa_panduan2(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
var dataa=xmlHttp.responseText;//接收返回的数据
if(dataa!=0){
r = dataa;
r=dataa.split("|");
rrrrrr=dataa.split(",");
document.getElementById("div2").innerHTML=xmlHttp.responseText;
//document.write(r);
//alert(r);
}else{
//否则没有超过一个小时,此处预留
}
}
}
}
window.onload=function(){
var n=500;
setInterval('aaa2()',n)//间隔n秒执行rollwords刷新
//这里写处理文字滚动的代码.......
//init();
}
</script>
<!----------------------------------------------------------------------------------------防沉迷结束--->
</head>
<body>
<div class="d1" id="div1" >
<div class="scroll" id="scroll">
<div class="div2" id="div2">
<ul>
<li>
</li>
</ul>
</div>
<div id="div3" class="div2"></div>
</div>
</div>
</body>
</html>