仿Discuz的公告效果,无间隙滚动

2009-04-14 08:41:05 | 【

本脚本仿照Discuz的公告效果,每行可以显示数条公告,一段时候后下一行公告自动无缝隙的反转上来,非常有用

查看演示页面 View Demo 查看全部代码 View Code

在网页<head>区添加以下代码

<style type="text/css">
ul {
 padding-right: 0px;
 padding-left: 0px;
 padding-bottom: 0px;
 margin: 0px;
 padding-top: 0px
}
#announcement {
 width:100%;
 background:url(img/menu_bg.gif) repeat;
 overflow: hidden;
}
#announcement div {
 border: #e6e6e6 1px solid;
 padding:0px 10px 0px 10px;
 overflow-y:hidden;
 line-height: 24px;
 height: 24px
}
#announcement li {
 font-size: 12px;
 float: left;
 list-style-type: none;
 margin-right: 20px;
 padding-left: 10px;
 background: url(img/arrow_right.gif) no-repeat 0px 50%;
 white-space: nowrap
}
#announcement a {
 text-decoration: none;
}
#announcement a:hover {
 text-decoration:underline;
}
</style>


在网页<body>区添加以下代码
<DIV id=announcement onMouseOver="if(!anncount) {clearTimeout(annst);annst = 0}" onMouseOut="if(!annst) annst = setTimeout('announcementScroll()', anndelay);">
  <DIV id=announcementbody>
    <UL>
      <LI><A href="http://hi.baidu.com/mimimo/blog/item/0f4ab6defbf1b65fccbf1ada.html" target="_blank">分享个表单验证函数</A>(2008-12-16 05:30 P.M.)</LI>
      <LI><A href="http://hi.baidu.com/mimimo/blog/item/d6b9543ddf2739e93d6d9798.html" target="_blank">块级元素和级联元素的含义</A>(2008-12-13 03:39 P.M.)</LI>
      <LI><A href="http://hi.baidu.com/mimimo/blog/item/5cc8a31ed1749d1841341796.html" target="_blank">如何设置<span>的width属性且不换行??</A>(2008-12-13 03:23 P.M.)</LI>
      <LI><A href="http://hi.baidu.com/mimimo/blog/item/11bf1b174322d9064a90a788.html" target="_blank">执行javascript后,gif动画就静止了??</A>(2008-12-13 03:12 P.M.)</LI>
      <LI><A href="http://hi.baidu.com/mimimo/blog/item/67424f901f46308aa977a4f5.html" target="_blank">基于栅格地图的查询系统(切片缓存技术)</A>(2008-11-29 07:38 P.M.)</LI>
      <LI><A href="http://hi.baidu.com/mimimo/blog/item/b5230933b495d5ff1b4cff78.html" target="_blank">【转】flash和javascript之间的通讯(javascript调用flash中的函数)</A>(2008-11-27 07:45 P.M.)</LI>
      <LI><A href="http://hi.baidu.com/mimimo/blog/item/07bad22a214e132ad42af106.html" target="_blank">不使用循环和回调函数输出字符1~100</A>(2008-11-23 03:00 P.M.)</LI>
      <LI><A href="http://hi.baidu.com/mimimo/blog/item/acc8421005e1fbfbc2ce795a.html" target="_blank">简洁的js图片等比缩放</A>(2008-11-22 04:54 P.M.)</LI>
      <LI><A href="http://hi.baidu.com/mimimo/blog/item/2940948f875a27fd503d9265.html" target="_blank">分贝网音乐地址获取器</A>(2008-11-20 05:19 P.M.)</LI>
    </UL>
  </DIV>
</DIV>
<script type="text/javascript">
function $(id)
{
   return document.getElementById(id);
}
var anndelay = 3000;
var anncount = 0;
var annheight = 24;
var annst = 0;
function announcementScroll()
{
   if( ! annst)
   {
      $('announcementbody').innerHTML += '<br style="clear: both" />' + $('announcementbody').innerHTML;
      $('announcementbody').scrollTop = 0;
      if($('announcementbody').scrollHeight > annheight * 3)
      {
         annst = setTimeout('announcementScroll()', anndelay);
      }
      else
      {
         $('announcement').onmouseover = $('announcement').onmouseout = null;
      }
      return;
   }
   if(anncount == annheight)
   {
      if($('announcementbody').scrollHeight - annheight <= $('announcementbody').scrollTop)
      {
         $('announcementbody').scrollTop = $('announcementbody').scrollHeight / 2 - annheight;
      }
      anncount = 0;
      annst = setTimeout('announcementScroll()', anndelay);
   }
   else
   {
      $('announcementbody').scrollTop ++ ;
      anncount ++ ;
      annst = setTimeout('announcementScroll()', 10);
   }
}
announcementScroll();
</script>

下载"仿Discuz的公告效果,无间隙滚动"

  • 本地下载
  • 本地下载2

相关资源