• ベストアンサー
  • すぐに回答を!

★質問★スクロールバーを使わずに、スクロールをする

  • 質問No.2486505
  • 閲覧数442
  • ありがとう数0
  • 回答数8

お礼率 12% (2/16)

皆様、お世話になります。

質問です。
※i frame での使用です

スクロールバーを使わずに、スクロールをする
技ってありますか?

フレーム内は、他のサイトのページが閲覧できるように
なってますが、超縦長なのでスクロールバーが出ます。

単にスクロールバーを「消す処理」の設定すると、
フレーム内は見れなくなりますし。。。

付け足すと、スクロールバーを使わない代わりに、
何か変わりになるボタン?(GUI)
を割り当てて、それをクリックする事で
上下させたいのですが。。

※中身の内容を自動で上下させるのではありません
↑マーキー見たいなものではないです。
あくまで、オンマウス的な技。

FLASH以外でお願いします。


説明が下手で恐縮です。。。。orz

何卒宜しくお願いします。

助けてください。。。

質問者が選んだベストアンサー

  • 回答No.8
  • ベストアンサー

ベストアンサー率 26% (32/120)

No6で回答したk0021ですが
再度チェックしたら別の指定方法ありました
iframe はあまり詳しくないので前回は、javascriptのみの説明でしたが
javascript部分は、ken_koyama が考えてください
インラインフレームスクロールの対応ブラウザも確認して下さい

私は、前回のjavascriptの説明をウィンドウ表示高さずつ移動させています

その他の回答 (全7件)

  • 回答No.7

ベストアンサー率 58% (45/77)

>それで、また問題ですが、t2.html部分は
>リンク先のページにしたいのですが。

フレーム内のページにスクリプトを書く必要はないけど、リンク先が別サーバだとセキュリティの問題で動かないような気がする。
  • 回答No.6

ベストアンサー率 26% (32/120)

No3さんのavascript部分のみです
参考にしたHP削除されて無いので使用するメソッド・プロパティのみ記述しておきます

scrollTo(x,y):絶対座標を指定して、ウィンドウをスクロールさせるメソッド。
scrollBy(x,y):相対座標を指定して、ウィンドウをスクロールさせるメソッド。
document.body.clientHeight:ウィンドウの内側の高さ(IE)
window.innerHeight:ウィンドウの内側の高さ(NN4/6)
document.body.scrollHeight:文章全体の高さ(IE)
document.height:文章全体の高さ(NN4/6)
document.body.scrollTop:現在の縦スクロール位置(IE)
window.pageYOffset:現在の縦スクロール位置(NN4/6)
window.scrollY:現在の縦スクロール位置(NN6)
…別に必要ないですね。

h(H)eightをw(W)idthに変えれば横幅を取得できます。

setTimeout():指定時間後に処理を行う。
clearTimeout():setTimeoutを解除する。
setInterval():指定時間ごとに処理を行う。

今回はこちらを使うことにします。
clearInterval():setIntervalを解除する。
onClick:イベント、マウスクリック
onDblclick:イベント、ダブルクリック


function scrollUp(){
f_wh = -xx; // ウィンドウの戻り移動数の指定
a_wh = xx; // ウィンドウの移動数の指定
clearTimeout(timerID);if(document.all)scrY=document.body.scrollTop;
else if(document.layers || document.getElementById)scrY=window.pageYOffset;
timerID=setTimeout('scrolling(f_wh)',a_wh)} //srcYに現在のスクロール位置を代入し、タイマーを再設定。
function scrollDown(){
a_wh = xx; // ウィンドウの移動数の指定
clearTimeout(timerID);if(document.all)scrY=document.body.scrollTop;
else if(document.layers || document.getElementById)scrY=window.pageYOffset;
timerID=setTimeout('scrolling()',a_wh)}
補足コメント
ken_koyama

お礼率 12% (2/16)

ご返答遅くなりまして、
すみません。。。

みなさま、ご丁寧にありがとうございました。

ジャバスクリプトタグ、試してみます。
少々お時間ください。。。

みなさまのアドバイス全て参考にさせて頂きます。
有難うございます。
投稿日時:2006/10/21 15:04
  • 回答No.5

ベストアンサー率 50% (3003/5914)

スクロールバーがでてなくても、


でスクロールできませんでしたっけ?
補足コメント
ken_koyama

お礼率 12% (2/16)

ご返答有難うございます。

なるほど、『↑↓で動く』って説明文を
書けばいいのですね。
でも、見栄えが。。。
投稿日時:2006/10/21 15:03
  • 回答No.4

ベストアンサー率 58% (45/77)

書き忘れ。t2.htmlは

<div style="text-align:center;font-size:200%">
な<br/>が<br/><script type="text/javascript">for(var i=0;i<200;++i)document.write("あ<br/>");</script>い
</div>
補足コメント
ken_koyama

お礼率 12% (2/16)

>talepanda さん

有難うございました。
はい。イメージ通りの事ができました。
有難うございました。

それで、また問題ですが、t2.html部分は
リンク先のページにしたいのですが。
つまり、<iframe id="orz" src="http://www.yahoo.co.jp/" style="width:256px;height:256px"></iframe>
見たいな感じで。
やはり、フレーム内もスクリプトを埋め込まないと
難しいのでしょうか。。
投稿日時:2006/10/22 20:01
  • 回答No.3

ベストアンサー率 58% (45/77)

<html>
<head>
<script type="text/javascript">
var t=null,d=0;
function f(n){
clearTimeout(t);
if(n==0){d=0;return;}if(n*d>0)d*=1.05;else d=n;
var b=document.all?document.getElementById("orz").Document:document.getElementById("orz").contentDocument;
b.getElementsByTagName("body")[0].scrollTop+=d;
t=setTimeout(function(){f(n)},5);
}
</script>
</head>
<body>
<span style="border:solid" onmouseover="f(-1)" onmouseout="f(0)">↑</span>
<span style="border:solid" onmouseover="f(1)" onmouseout="f(0)">↓</span><br/><br/>
<iframe id="orz" src="t2.html" style="width:256px;height:256px"></iframe>
</body>
</html>
補足コメント
ken_koyama

お礼率 12% (2/16)

ご返答遅くなりまして、
すみません。。。

なるほど、やはりジャバスクリプトですね。
タグ、試してみます。

これから試してみますので
お時間ください。。。

有難うございます。
投稿日時:2006/10/21 14:55
  • 回答No.2

ベストアンサー率 42% (69/163)

ホイールをまわせばいいだけじゃ?
ホイールクリックでもいいし…技でもなんでもない基本だと思います
補足コメント
ken_koyama

お礼率 12% (2/16)

返答有難うございます。

なるべく、ページを訪れた
『ユーザー』が一発で分かるような
サイトの『作り』をしたいので。

私自身が知っていても意味が無いし。
投稿日時:2006/10/21 14:50
  • 回答No.1

ベストアンサー率 50% (151/299)

<a name="hoge">
<a href="hogehoge.html#hoge">
これを使ってみてはどうでしょうか?
(なんて呼ぶのか忘れました;;)
補足コメント
ken_koyama

お礼率 12% (2/16)

遅くなりまして、すみませんでした。。。

返答ありがとうございます。
なるほど、まだ試してみてないので
今からやってみなす。
投稿日時:2006/10/21 14:47
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ