复制代码 代码如下:
setinterval() 方法会不停地调用函数,直到 clearinterval() 被调用或窗口被关闭。由 setinterval() 返回的 id 值可用作 clearinterval() 方法的参数。
//利用myar变量来控制输出时的对应的编号。然后接着那个编号执行调用函数。 这样,不会有那种替换数据时,滚动效果卡住的感觉。视觉效果好。
//虽然这样有可能不是从第一个最新更新的公告开始显示,有利有弊。
myar1 = setinterval('autoscroll(#scrolldiv1)', 2000)
$(#scrolldiv1).hover(function() { clearinterval(myar1); }, function() { myar1 = setinterval('autoscroll(#scrolldiv1)', 2000) }); //当鼠标放上去的时候,滚动停止,鼠标离开的时候滚动开始
//hover 方法用来使当你鼠标停在滚动的某条数据时。响应停止滚动动作。可以点击去超链。
//后台的那个函数:如果又移走鼠标,则从刚才的变量编号开始滚动。
}
});
}
//定时器控制。每5分钟针对某个容器执行一次内容的 更新
$(function() {
$(#ul1).everytime(300000, function(i) {//每5分钟执行一次
notice();
});
});
//其载入顺序要注意。首先要等所有数据载入以后才可以。也就是ajax填充之后,才能调用。那么window.onload或者在body中onload都可以
//但是$(document).ready和onload的有区别。$(document).ready是在dom框架载入完成就执行。我们要等待ajax。所以这里不能用。
//这是$(document).ready比较稳定的写法。
//jquery.noconflict(); jquery(document).ready(function(){});
//但有人说
//$(document).ready(function(){
// alert(hello);
//});(1)
// (2)
// 上面两段代码是等价的。但代码1的好处是做到表现和逻辑分离。并且可以在不同的js文件中做相同的操作,即$(document).ready (fn)可以在一个页面中重复出现,而不会//冲突。基本上jquery的很多plugin都是利用这个特性,正因为这个特性,多个plugin共同使用起来。
//window.onload = function() { notice(); }
function notice2(){//定时器 热门促销
var pdata =nameparam=+document.getelementbyid(nameparam).value+¶m=2;
$.ajax({
url: util/mainutil.aspx, //后台处理类
type: post,
data: pdata,
datatype: html,
timeout: 10000,
error: function(data) { },
success: function(data) {
$(#scrolldiv2).stop(true);
$(#scrolldiv2>#ul2).innerhtml=;
//在容器中输出数据
$(#scrolldiv2>#ul2).html(data);
myar2 = setinterval('autoscroll(#scrolldiv2)', 2000)
$(#scrolldiv2).hover(function() { clearinterval(myar2); }, function() { myar2 = setinterval('autoscroll(#scrolldiv2)', 2000) }); //当鼠标放上去的时候,滚动停止,鼠标离开的时候滚动开始
}
});
}
$(function() {
$(#ul2).everytime(300000, function(i) {//每5分钟执行一次
notice2();
});
});
function autoscroll(obj) {
$(obj).find(ul:first).animate({
margintop: -25px
}, 500, function() {
$(this).css({ margintop: 0px }).find(li:first).appendto(this);
});
}
border=0>
公告:
后台util/mainutil.aspx.cs输出对应的 html 的数据
using system;
using system.collections;
using system.configuration;
using system.data;
using system.linq;
using system.web;
using system.web.security;
using system.web.ui;
using system.web.ui.htmlcontrols;
using system.web.ui.webcontrols;
using system.web.ui.webcontrols.webparts;
using system.xml.linq;
namespace web.util
{
public partial class mainutil : system.web.ui.page
{
protected void page_load(object sender, eventargs e)
{
try
{
int k = int.parse(request[param].tostring());
switch (k)
{
case 1:
toone();
break;
case 2:
totwo();
break;
default:
break;
}
}
catch { }
}
private void toone()
{
try
{
string st = string.empty;
string companyname = request[nameparam].tostring();
datatable dt1 = dbutility.dbhelpersql.query(select top(5) title,id from 公告表 where typeid='2' and creater=' + companyname + 'order by creattime desc).tables[0];
for (int i = 0; i {
//把公告做成超链接
st += + dt1.rows[i][title].tostring() + ;
}
showhtml(st);
}
catch { }
}
private void totwo()
{
try
{
string st = string.empty;
string companyname= request[nameparam].tostring();
datatable dt2= dbutility.dbhelpersql.query(select top(5) title,id from 公告表 where id in (select top 10 id from 公告表 where typeid='2' and creater='+companyname+'order by creattime desc) order by creattime asc).tables[0];
//把公告做成超链接
for (int i = 0; i {
st += + dt2.rows[i][title].tostring() + ;
}
showhtml(st);
}
catch { }
}
private void showhtml(string st){
response.contenttype = text/html;//text/html,和application/json 都是输出格式
response.write(st);
response.flush();
response.close();
}
}
}
