htmljs 使用marquee标签,怎么可以做到无缝滚动

htmljs 使用marquee标签,怎么可以做到无缝滚动,第1张

需要js的配合一下是一个非常好用的一个html代码,可以试试

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 

"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">

<HTML xmlns="http://www.w3.org/1999/xhtml">

<HEAD>

<TITLE>一行多列文字循环滚动带停顿-</TITLE>

<meta name="keywords" content="网页特效" />

<meta name="description" content="" />

<META http-equiv=Content-Type content="text/html charset=utf-8">

<style type="text/css">

ul {height:200px

padding-right: 0px

padding-left: 0px

padding-bottom: 0px

margin: 0px

padding-top: 0px

}

#announcement {

width:300px

height:200px

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:100px

}

#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>

</HEAD>

<BODY>

<DIV id="announcement" onMouseOver="if(!anncount) {clearTimeout(annst)annst = 0}" onMouseOut="if(!annst) annst = setTimeout('announcementScroll()', anndelay)">

  <DIV id="scrbody">

    <ul>

     <li>

     <a href="#" target="_blank">jQuery 类似腾讯网的图片幻灯特效(可自动播放)</a>

     </li>

     <li>

     <a href="#/JS" target="_blank">VB版增强型Windows任务管理器</a>

     </li>

     <li>

     <a href="#/JS/texiao"target="_blank">JQuery Tip多风格链接提示框</a>

     </li>

     <li>

     <a href="#/JS/ad" target="_blank">VC++动态加载、调用smtp.dll发邮件示例</a>

     </li>

     <li>

     <a href="#/html+css" target="_blank">++连连看游戏源码附外挂</a>

     </li>

     <li>

     <a href="#/" target="_blank">基于API的VB HOOK钩子拦截程序</a>

     </li>

     <li>

     <a href="#/" target="_blank">VB  *** 作系统的一些常用小技巧集</a>

     </li>

     <li>

     <a href="#/js" target="_blank">xTree 标准的WEB菜单树(树形菜单)</a>

     </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)

   {

      $('scrbody').innerHTML += '<br style="clear: both" />' + 

$('scrbody').innerHTML

      $('scrbody').scrollTop = 0

      if($('scrbody').scrollHeight > annheight * 3)

      {

         annst = setTimeout('announcementScroll()', anndelay)

      }

      else

      {

         $('announcement').onmouseover = $('announcement').onmouseout = null

      }

      return

   }

   if(anncount == annheight)

   {

      if($('scrbody').scrollHeight - annheight <= $('scrbody').scrollTop)

      {

         $('scrbody').scrollTop = $('scrbody').scrollHeight / 2 - annheight

      }

      anncount = 0

      annst = setTimeout('announcementScroll()', anndelay)

   }

   else

   {

      $('scrbody').scrollTop ++ 

      anncount ++ 

      annst = setTimeout('announcementScroll()', 10)

   }

}

announcementScroll()

</script>

</BODY>

</HTML>

以垂直滚动为例:一组图片

控制它的滚动条进行滚动

且此时对这组图片进行复制并添加进原图片组中,现在就有两组图片了。你可以想象一下,现在滚动条继续滚动,原来那组图片最后一张图片已经滚至顶端且消失,复制的那组图片的第一张跟在原图最后一张图片后出现,此时你就能感觉到无缝滚动了,而就在此刻我们将滚动条高度设置为0(因为速度很快,所以不会出现停顿感),你感觉图片就这样一直不停的滚动下去了。关键点在于元素的复制、添加,以及滚动条距离的获取和修改。网上代码很多,都是基于这类构思


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11668322.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存