3

デジタルサイネージのようなテレビ画面に表示されるhtmlページがあります。このため、ページ上にあるすべてのものは、ユーザー入力なしで表示する必要があります。リスト形式で表示されるmySQLデータベースにいくつかのレコードが保存されています。リストが大きくなりすぎて表示できない場合、スクロールするのと同じように(一度に1行ずつ)スクロールしますマーキーが動作します。

これを行う方法についての私の考えはせいぜい断片的です。誰かが私を正しい方向に向けてくれることを望んでいました.

ところで、マーキー タグの使用が多くの開発者にとって「悪」であることはわかっていますが、この場合はユーザー入力がないため、他の方法は見当たりません。

編集:私が念頭に置いていたのは、何らかの方法で 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

さて、私は非常に少ないコーディングでこれを行うための良い方法を考え出しました。サイズを超えた場合に内容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 に答える
0

このページを見て

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

彼らは jcarousel lite を使用してそれを行いました。私は自分で例を書いたでしょうが、最初にこの良い例を見つけて、それをやることから救われました ;)

于 2012-11-01T08:34:12.477 に答える