JavaScriptの初心者です。
JavaScriptの実装方法について教えてください。
以下のようなhtmlがある場合に、JavaScriptの関数呼び出しによってbox間のスクロールをさせたいです。
例:yyyyyyyのboxで関数を呼ぶと、zzzzzzzzzzのboxまでスクロールする。
<div class="box">xxxxxxxxxxxxxxxxxxxxxxx</div>
<div class="box">yyyyyyyyyyyyyyyyyyyyyyy</div>
<div class="box">zzzzzzzzzzzzzzzzzzzzzzzzzz</div>
class名が同一である場合にこのような処理を行うためには、各boxの座標を取得しておき、現在表示しているboxの上下のtop座標に移動させるような関数を実装すれば良いと考えています。
ですが、どのような実装をすれば良いか、試行錯誤していますがうまくいきません。
どなたかアドバイスをいただけるととてもうれしいです。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
boxの座標を取得して、element.scrollTopやwindow.scrollTo()でスクロールさせてください。
https://developer.mozilla.org/Ja/DOM/Element.get …
http://msdn.microsoft.com/en-us/library/ms536433 …
function $(cname, idx){
return document.getElementsByClassName(cname)[idx];
}
$('box', 1).onclick=function(){
document.body.scrollTop=$('box',2).getBoundingClientRect().top;
}
未検証です。
互換性を考慮していませんが、メジャーなのの最新バージョンなら動くと思います。
サンプルコード、ありがとうございます。とても参考になりました。
こちらで動作を確認したところ、うまく動作しました。(Safari)
なお、頂いたコードですと、必ず2番目の該当classへ飛ぶようでしたので、
関数を呼び出す場所から要素インデックスを指定するように修正中です。
・・・まだ動いていませんので、これからデバッグしてみます。
修正中のコード。
function $(cname, idx){
return document.getElementsByClassName(cname)[idx];
}
function moveNext(x){
document.body.scrollTop=$('post_controls',x+1).getBoundingClientRect().top;
}
呼び出しは、テスト用に以下のように呼び出しています。
<a href="javascript:void(0)" onclick="moveNext(※);return false">link</a>
※boxの要素インデックス(1~)
No.1
- 回答日時:
スクロールテクにクックの最初はマイクロソフトのDHTMLから派生しています。
現在は、HTML5で実現可能です。
http://search.yahoo.co.jp/search?b=1&n=10&ei=UTF …
http://kachibito.net/web-design/parallax-scroll- …
http://www.ajike.co.jp/ajiblo/?p=1351
など検索によりリストされるサイトを参考にしましょうお。
ちょっと以前なら、JQueryですね。もう過去の遺物になりつつあります。マイクロソフトでも、JQueryに刺激され、カプセル化されたものを提供始めています。
http://msdn.microsoft.com/en-us/library/windows/ …
http://msdn.microsoft.com/en-us/library/windows/ …
http://msdn.microsoft.com/en-us/library/hh243643 …
"HTML5" & "anime" で検索されるカテゴリーです
http://search.yahoo.co.jp/search?b=1&n=10&ei=UTF …
http://website.informer.com/terms/Html5_Anime_We …
元祖
http://search.yahoo.co.jp/search?p=%22DHTML%22+% …
http://ascii.jp/elem/000/000/589/589429/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PDFを(htmlのように)無限に縦...
-
Excelでワードアートや図を常に...
-
エクセルVBAでフォームのListbo...
-
ポストバック時のスクロール位...
-
Spreadのスクロールについて
-
マウスでコロコロしたいんですが…
-
IEにおけるプルダウン、テキ...
-
検索履歴の語句を選んで削除したい
-
新着情報などをスクロールしな...
-
前のページに戻るとスクロール...
-
vb,netでtextboxの文字を右から...
-
スクロールで背景を固定するには?
-
常に画像の大きさを横幅100%で...
-
Excelの質問で票の途中に...
-
Visual Basicから Spreadのスク...
-
ページの横移動
-
webページで横方向にアンカーを...
-
リストビューをスクロールさせ...
-
MFCでのスクロールバーの扱い
-
スクロールバーの位置指定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでワードアートや図を常に...
-
エクセルVBAでフォームのListbo...
-
PDFを(htmlのように)無限に縦...
-
リストビューをスクロールさせ...
-
大きい表へのスクロールバーの...
-
Visual Basicから Spreadのスク...
-
MFCでのスクロールバーの扱い
-
Excelの質問で票の途中に...
-
vb,netでtextboxの文字を右から...
-
Excelで一部分だけを常に表示さ...
-
Excelで1.2行目だけ固定して...
-
マウスオーバー→ホイール回転で...
-
ページ訪問時にiframe内を自動...
-
VBE画面の縦のスクロールバ...
-
リストビューのスクロールバー...
-
上下キーを押すと、ページスク...
-
webページで横方向にアンカーを...
-
ポストバック時のスクロール位...
-
IFRAMEでscrolling="yes|no"の...
-
アコーディオンで開かれたパネ...
おすすめ情報