Discuz教程网

javascript+div+ul+li 文字不间断向上滚动

[复制链接]
authicon dly 发表于 2011-4-22 02:12:16 | 显示全部楼层 |阅读模式
方案一、

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5. <title>无标题文档</title>
  6. <style >
  7. #updates {
  8.    padding-left: 20px;
  9.    color: #3d3d31;
  10.    text-align: left;
  11.    
  12.   }
  13.   #updates ul {
  14.    margin: 0;
  15.    padding: 0;
  16.    height: 148px;
  17.    overflow: hidden;
  18.    line-height: 20px;
  19.   }
  20.   
  21.   #updates h4 {
  22.    font: bold 12px '宋体';
  23.   }
  24.   
  25.   #updates ol {
  26.    margin: 0;
  27.    padding-left: 32px;
  28.   }
  29.   
  30.   
  31.   #updates ol li {
  32.    list-style: decimal outside;
  33.   }
  34.   
  35. </style>
  36. <script src="jquery-1.1.3.pack.js"></script>
  37. <script language="javascript">
  38. jQuery(function ($) {
  39. var $updates = $('#updates ul');
  40. var updates = $updates[0];
  41. var height = $updates.height();
  42. var max = updates.scrollHeight;
  43. var timer;

  44. function scroll() {
  45. if (updates.scrollTop < max) {
  46.      updates.scrollTop += 1;
  47. } else {
  48.      updates.scrollTop = 1;
  49. }
  50. timer = setTimeout(arguments.callee, 40);
  51. }

  52. function init() {
  53.      if (height == max) return;
  54.      updates.scrollTop = 0;
  55.      var children = $updates.children();
  56.      var offset = 0;
  57.      for (var i = 0; i < children.length; i++) {
  58.          var $item = $(children[i]);
  59.          offset  += $item.clone().appendTo($updates).height();
  60.          if (offset  > height) break;
  61.      }
  62.      scroll();
  63.      
  64.      $updates.hover(function () {clearTimeout(timer);}, function () {scroll();});

  65. }

  66. init();
  67. });
  68. </script>
  69. </head>
  70. <body>
  71.                    <div id="updates">
  72. <ul>
  73. <li>
  74.   <h4>2010.06.24更新</h4>
  75.   <ol>
  76.    <li>新增圆通快递,韵达快递新模板。</li>
  77.    <li>新增3个快递单自定义内容模板。</li>
  78.    <li>新增快递单显示卖家备注,卖家备注信息。</li>
  79.    <li>新增宝贝盘点更新操作后,仍勾选更新宝贝。</li>
  80.    <li>新增宝贝更新销售属性同步删除</li>
  81.   </ol>
  82. </li>
  83. <li>
  84.   <h4>2010.06.23更新</h4>
  85.   <ol>
  86.    <li>增加了订单取消操作后状态标识功能</li>
  87.    <li>修正订单删除同步问题</li>
  88.    <li>修正自动上下架失败提示</li>
  89.    <li>修正快递单打印后显示问题</li>
  90.    <li>修正宝贝入库保存数据出错的问题</li>
  91.    <li>修正订单更新后未在快递单打印显示</li>
  92.   </ol>
  93. </li>
  94. <li>
  95.   <h4>2010.06.03更新</h4>
  96.   <ol>
  97.    <li>增加快递单中修改宝贝内容功能;</li>
  98.    <li>修改宝贝预警模块中部分js错误;</li>
  99.    <li>增加宝贝库存变化记录查询功能;</li>
  100.    <li>增加了最新同步更新订单模块;</li>
  101.    <li>增加增量同步淘宝数据功能(测试版)。</li>
  102.   </ol>
  103. </li>
  104. </ul></div>
  105. </body>
  106. </html>
复制代码

方案二、

  1. <style type="text/css">
  2.     #marqueeDiv
  3.     {
  4.         padding-left: 0px;
  5.         color: #3d3d31;
  6.         text-align:center;
  7.         width:100%;
  8.         text-align:center;        
  9.     }
  10.     #marqueeDiv ul
  11.     {
  12.         margin: 0;
  13.         padding: 0;
  14.         height: 200px;
  15.         /*height: 100%;*/
  16.         overflow: hidden;
  17.         line-height: 20px;
  18.     }
  19.     #marqueeDiv ul li
  20.     {
  21.      list-style-type:none;
  22.      padding-left:5px;
  23.      padding-top:2px;
  24.     }
  25. </style>
  26. <div id="tbContainer" runat="server">
  27.     <table id="titleTable" border="0" cellpadding="0" cellspacing="0" width="100%">
  28.         <tbody>
  29.             <tr class="TRTitle">
  30.                 <td class="TDLeft">
  31.                     &nbsp;
  32.                 </td>
  33.                 <td class="TDTitle">
  34.                     <asp:LinkButton ID="lnkOperator" runat="server">设置</asp:LinkButton>
  35.                     <asp:Literal ID="ltrTitle" runat="server"></asp:Literal>&nbsp;
  36.                 </td>
  37.                 <td class="TDMore">
  38.                     <asp:Literal ID="ltrMore" runat="server"></asp:Literal>&nbsp;
  39.                 </td>
  40.             </tr>
  41.         </tbody>
  42.     </table>
  43.     <div id="marqueeDiv">
  44.         <ul>
  45.             <li>
  46.                 <div id="content" runat="server" class="content">
  47.                     <!--此处放要显示的内容-->
  48.                 </div>
  49.             </li>
  50.         </ul>
  51.     </div>
  52. </div>
  53. <script src="../../JS/jquery-1.1.3.pack.js" type="text/javascript"></script>
  54. <script language="javascript" type="text/javascript">
  55.     function marquee() {
  56.         var obj = document.getElementById("marqueeDiv");
  57.         var allHeight = obj.parentNode.parentNode.clientHeight;
  58.         //alert(allHeight);
  59.         var outNodes = obj.parentNode.parentNode.childNodes;
  60.         var otherHeight = 0;
  61.         for (var i = 0; i < outNodes.length; i++) {
  62.             var curId = obj.parentNode.id;
  63.             if (curId != outNodes[i].id) {
  64.                 otherHeight += outNodes[i].clientHeight;
  65.             }
  66.         }
  67.         var innerNodes = obj.parentNode.childNodes;
  68.         for (var i = 0; i < innerNodes.length; i++) {
  69.             var curId = obj.id;
  70.             if (curId != innerNodes[i].id) {
  71.                 otherHeight += innerNodes[i].clientHeight;
  72.             }
  73.         }
  74.         //alert(allHeight);
  75.         //alert(otherHeight);
  76.         var marqueeHeight = allHeight - otherHeight;
  77.         //alert(marqueeHeight);
  78.         var $updates = $("#marqueeDiv ul");
  79.         $updates.height(marqueeHeight);
  80.         jQuery(function($) {
  81.             var $updates = $("#marqueeDiv ul");
  82.             var updates = $updates[0];
  83.             var height = $updates.height();
  84.             var max = updates.scrollHeight;
  85.             var timer;
  86.             function scroll() {
  87.                 if (updates.scrollTop < max) {
  88.                     updates.scrollTop += 1;
  89.                 } else {
  90.                     updates.scrollTop = 1;
  91.                 }
  92.                 timer = setTimeout(arguments.callee, 40);
  93.             }
  94.             function init() {
  95.                 if (height == max) return;
  96.                 if (height > max) return; //Added by kevin at 2010/06/29
  97.                 updates.scrollTop = 0;
  98.                 var children = $updates.children();
  99.                 var offset = 0;
  100.                 for (var i = 0; i < children.length; i++) {
  101.                     var $item = $(children[i]);
  102.                     offset += $item.clone().appendTo($updates).height();
  103.                     if (offset > height) break;
  104.                 }
  105.                 scroll();
  106.                 $updates.hover(function() { clearTimeout(timer); }, function() { scroll(); });
  107.             }
  108.             init();
  109.         });
  110.     }
  111.    
  112. </script>
复制代码






上一篇:头像大小修改完美解决办法 FOR ALL
下一篇:鼠标移到向上滚动的鼠标移上去停止
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 06:55

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表