javascriptでテロップを作成して

<div id="terop"></div>
みたいにしたらテロップが
流れるようなサンプルソースはありませんか?
ひとつ流れ終わったら
次が流れるようなテロップです。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2007/05/13 11:35:20
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:orz66 No.1

回答回数106ベストアンサー獲得回数11

ポイント15pt

横スクロールでよろしければ

http://www.daantje.nl/gpl-projects/simplehorizontalscroll/



縦はこちら

http://www.dynamicdrive.com/dynamicindex2/prohtmlticker.htm



こちらがイメージに近いのかもしれません(縦スクロール)

http://www.smartmenus.org/vadikom/products/free-scripts/

しかし

ではさむタイプではないので申し訳ないです。

id:hopefully

ありがとうございます。

2007/05/13 11:34:26
id:susie-t No.2

回答回数99ベストアンサー獲得回数18

ポイント55pt

以下でどうでしょう。

<html>
<head>
<script type="text/javascript">
<!--
function terop(msgs, len){
  var base = document.getElementById("terop");
  if(base.style.position == "" || base.style.position == "static"){
    base.style.position = "relative";
  }
  base.style.overflow = "hidden";
  var msg = document.createElement("div");
  base.appendChild(msg);
  msg.style.position = "relative";
  msg.style.left = (base.offsetWidth + 1) + "px";
  var i = 0;
  var move = function(){
    if(parseInt(msg.style.left) > base.offsetWidth){
      msg.innerHTML = msgs[i];
    }
    msg.style.left = (parseInt(msg.style.left) - len) + "px";
    if(parseInt(msg.style.left) < -(msg.offsetWidth)){
      msg.style.left = (base.offsetWidth + 1) + "px";
    }
    i++;
    if(i >= msgs.length) i = 0;
    setTimeout(move, 10);
  };
  setTimeout(move, 10);
}
function init(){
  terop([
    "こんなかんじで",
    "つぎつぎに",
    "流れていきます。"
  ], 10);
};
//-->
</script>
<style type="text/css" media="screen">
#terop{
  border:solid blue 2px;
}
</style>
</head>
<body onload="init();">
<div id="terop"></div>
</body>
</html>

参考になれば幸いです。

id:hopefully

これはかなり参考になりますw

ありがとうございますw

2007/05/13 11:34:12
  • id:susie-t
    ごめんなさい、上記回答では正しく動作しません・・・。
    http://d.hatena.ne.jp/susie-t/20070513/1179077141
    に修正を記載しましたのでそちらを参照してください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません