![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Javascriptで文字列を順番に表示し、そのスタート地点を任意にしたいのです。
http://oshiete.goo.ne.jp/qa/2200463.html
こちらのページを参考に、アクセス毎に順番に表示をするページを作成しております。
このリストの、スタート地点をランダムにする改変はできますでしょうか。
本来の目的は、複数設定した文字列をランダムに、しかし一周して全ての文字列を表示し終わるまでは重複しないものを求めていたのですが、検索が下手なのか、探し当てることができませんでした。
そこで、順番に表示されるもののスタート地点をランダムにすることはできないものかと思ったのですが……
どちらでも結構ですので、有識者様、何とぞ宜しくお願いいたします。
No.3ベストアンサー
- 回答日時:
#2のかたと考え方は同じです。
元のページの
─────────────────
var imgNo = 0;
//以下、画像のリスト
var imgList = new Array;
imgList[0] = '~/imgA.gif';
imgList[1] = '~/imgB.png';
imgList[2] = '~/imgX.jpg';
─────────────────
を
─────────────────
//以下、画像のリスト
var imgList = new Array;
imgList[0] = '~/imgA.gif';
imgList[1] = '~/imgB.png';
imgList[2] = '~/imgX.jpg';
var imgNo = Math.round(Math.random()*(imgList.length));
─────────────────
に変えれば動きませんか?
参考:http://tokyo.cool.ne.jp/mitchy2/area2/js/js_memo …
尚、JavaScriptはHTML/CSSと違い、(軽量とは言え)プログラミング言語ですから、
確かに敷居は高いです。
ですので、はじめはコピペで良いと思います。
けれども慣れてきたら、少しずつソースの意味を理解できるよう読み込んでみてください。
はじめのうちは大変ですが、いずれすいすい上達できるようになりますよ。
がんばってください!
サンプルのご提示、大変恐縮です。とっても嬉しいですが、
stuff_ppo様にお手間をおかけしまして心苦しいです。申し訳ありません。
ありがとうございます。
改変して頂いたものを見ると、ここ二日間わたしが最初っから見当違いな事を
しておりました事がわかります。
仰る通り、基本や使い方すら分らない癖に、改変の仕方を教えて下さいというのは
無知でありました。
htmlもcssも我流で学んだのだし、と力ずくで手を出したのが無謀だったです。
No.2
- 回答日時:
>Javascriptで文字列を順番に表示し、~
というのが、ある文字列から1文字ずつ表示していく時のスタート位置の意味なのか、複数ある文字列を順番に表示する時のスタート位置なのかよくわかりませんが、いずれにしろ全体の数に対して乱数で決めてあげれば良いだけのように思われます。
0~1(1未満)の乱数が Math.random() で得られますので…
一つの文字列の場合(=変数strとして)、文字数はstr.lengthですから Math.floor(Math.random() * str.length) で計算した文字をスタートにすればよろしいかと。
複数の文字列が配列に入っているのなら(=配列array_strとして)、同様に Math.floor(Math.random() * array_str.length)でインデックス値を求めて、そこからスタートすることにすればよろしいかと。(終わりの判定にちょっと工夫がいるかも)
他にも、配列全体を並べ変えしてしまう(ランダムソート)という方法も考えられます。
(この場合は順序も変わってしまいますが…)
ご指南ありがとうございます。先日頂きましたSAYKA様のご助言を元にぐぐりつつ改造を行っておりますが、あまり芳しくなく……
fujillin様に頂きましたご助言と合せてもうちょっとがんばってみます!
No.1
- 回答日時:
とりあえずランダムの文字列を作るか、ランダム種を一定にしてかき回す(種が同じなら同じ乱数が出るのを利用した手抜きランダム文字列生成)
で その文字列の文字数を基に、カウンタの数を文字数で割った「余り」の数値の位置の文字を文字列から取り出す
と 文で説明すると そんな感じ。
文字列自体が「単語」で複数用意してあるなら文字数ではなくて語数になるだけ。
前者なら文字列の検索系、後者なら配列の操作。
剰余は % ・・・かな。modだったらごめん
いち早いお返事をありがとうございました。
折角ご指南賜っておきましてお恥ずかしい話なのですが、
わたくしにとってはお話高度過ぎてすぐの理解ができません……
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 複数列のある文字を優先して1列に表示したいです 2 2022/12/03 12:07
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Visual Basic(VBA) VBAで早押しゲームを作りたい 4 2022/05/12 13:46
- gooポイント gooポイントをdポイントに交換できない。 3 2022/04/22 20:39
- その他(プログラミング・Web制作) python コードについて(初学者です) 3 2023/07/20 14:44
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
jspからjavascriptの変数引継ぎ
-
(google apps script)スプレ...
-
JavaScriptからPHPに配列を渡す...
-
バナーのランダム表示(複数、...
-
C#テキストボックスの文字を配...
-
二次元配列を使って順位をだす...
-
多次元配列から最大値を1行また...
-
[JS] setAttributeで保存される...
-
二次元配列の全要素の全要素を...
-
Perlの配列をJavaScriptに渡せ...
-
1から20までの整数から、重複な...
-
JSで配列同士の重複チェック
-
javascript 配列 変数名「arra...
-
配列のソートがしたい
-
JSONデータを50音順でソートしたい
-
2つの文字列を比較する方法
-
大分類・中分類・小分類のvalue...
-
乱数を配列へ格納(JavaScript)
-
google apps scriptの終了のさせ方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
C#テキストボックスの文字を配...
-
jspからjavascriptの変数引継ぎ
-
javascript 変数名の連結をしたい
-
二次元配列を使って順位をだす...
-
React hooksが値を返して配列変...
-
undefinedを表示させない方法は...
-
フォーム入力値の重複チェック
-
javascriptで行を抽出したいです。
-
JavaScriptでの動的な多次元配...
-
多次元配列から最大値を1行また...
-
HTMLで誕生石と星座をアラート...
-
JSONデータを50音順でソートしたい
-
重複しないようにランダムで表...
-
1から20までの整数から、重複な...
-
JavaScriptにおける[] とか :...
-
gas 配列
-
【JavaScript】オブジェクト型...
-
WSH(Jscript)でファイル一覧
-
JavaScriptで簡単なクイズを作...
おすすめ情報