3

我有一个 html 页面,它显示在类似于数字标牌的电视屏幕上。因此,页面上的所有内容都必须在没有任何用户输入的情况下显示。我有一些存储在 mySQL 数据库中的记录以列表格式显示,我想做的是当列表变大以显示时,它会向上滚动(可能一次一行),类似于滚动选框作品。

我关于如何做到这一点的想法充其量是支离破碎的,我希望有人能指出我正确的方向。

顺便说一句,我知道使用选框标签对很多开发人员来说是“邪恶的”,但是在这种情况下,因为没有用户输入,我看不到任何其他方式。

编辑:我的想法是以某种方式获取 div 高度,然后在高度超过预定大小时使用 if 语句触发选取框。

编辑:这是我到目前为止所得到的,使用 JavaScript 来计算 div 高度......

<script type="text/javascript">
function divHeight()
{
  var height = document.getElementById("list").offsetHeight;

  if (height > 500)
  {
  activate marquee effect.
  return;
  }
  else
  {
  don't activate marquee effect.
  return;
  }

}
</script>

然后...

<body onLoad="divHeight()">
<div id="list">
my list goes here
</div>
</body>
4

2 回答 2

0

看看这个页面

http://www.webdesignbooth.com/create-a-vertical-scrolling-news-ticker-with-jquery-and-jcarousel-lite/

他们使用 jcarousel lite 做到了这一点。我会自己写一个例子,但我发现这个很好的例子首先让我免于这样做;)

于 2012-11-01T08:34:12.477 回答
0

好的,我想出了一个用很少的编码就能做到这一点的好方法。如果超出大小,它用于JavaScript更改内容。div我有想要在里面滚动的文本,div id="scroll"并且使用. 这是脚本:divmySQLphp

<script type="text/javascript">
var div = document.getElementById("scroll");
var height = div.offsetHeight;
var content = div.innerHTML;

if (height > 500)
{
div.innerHTML = "<marquee direction=\"up\" scrollamount=\"2\" height=\"500px\" onfinish=\"redirect()\" loop=\"1\">" + content + "</marquee>";
}

function redirect()
{
refresh=window.setTimeout(function(){location.href=""},0);
}
</script>

由于此应用程序用于数字标牌,因此marquee在显示完整内容后我将其重定向,这就是为什么我拥有onfinish="redirect"然后重定向功能的原因。

希望这会对某人有所帮助,我知道我花了很多时间来摸索它。

于 2012-11-08T12:08:30.640 回答