
ボタンを自動クリックするスクリプトは
setInterval( function() {
var load =document.getElementsByClassName('load-more')[0];
if(load.style.display != 'none') load.click();
});
という感じで書けて動作したのですが、例えば
if(load.style.display != 'none') load.click();
},10000);
などとした場合、表示されていない下の方にボタンがある場合でも延々とクリックされてしまいますよね?
load-moreのボタンが画面内にある時だけ自動クリックさせたいのですが、そのようなことは可能でしょうか?
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは
Greasemonkeyはまったく存じませんが・・・
>画面内にある時だけ自動クリックさせたいのですが、
>そのようなことは可能でしょうか?
可能だと思います。
対象要素(var load)のドキュメント内の位置を取得して、
・そのtop位置が画面のscroll量以上で
・bottom位置が(画面のscroll量 + 表示画面の高さ)より小さければ
要素全体が表示されていると判断できます。
※ 横方向にもスクロールする場合は、横方向のチェックも必要です
※ 要素が全部表示されていなくても、少しでも見えているという場合は、上記と似た計算で判断可能でしょう。
上記の判断で、クリックするかどうか分岐すればよいのでは?
ただし、ご提示のスクリプトではInterval処理を止める記述がないみたいなので(どこか他にあるのかも知れませんが)、クリックするしないに関わらず処理自体は延々と繰り返されます。
遅延時間を指定したとしても、クリックしてから指定時間経っても同じような表示状態だと、条件判断を追加していても、やはり連続クリックが発生する可能性はあるでしょう。
No.1
- 回答日時:
> if(load.style.display != 'none') load.click();
なら
if(load.style.display != 'none'){
load.style.display = 'none';
load.click();
}
と一度クリックしたら隠してしまうとか
if(load.style.display != 'none' && !load.getAttribute('data-flg')){
load.setAttribute('data-flg',1);
load.click();
}
のように、フラグを立ててやればよいのでは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのレスポンシブが綺麗に動かない 3 2022/06/21 11:08
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- Visual Basic(VBA) Edge操作のアプリが例外発生に 1 2023/03/12 21:22
- 英語 Greater stress was reported in axial direction at 1 2022/07/20 12:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワードで直径4cmの円を作成...
-
E-mailの署名について
-
アイコンに、四角い枠が出来て...
-
リンクに飛べる様にする際 「C...
-
ワードのハイパーリンク、Ctrl...
-
グーグルマップのストリートビュー
-
マイページの出し方が分かりま...
-
PCのグーグルマップで現在地が...
-
windows11フォトビューア
-
ヤフー。トップページに戻ると1...
-
PC上からメールのアイコンが消えた
-
日本語入力がひっきりなしにフ...
-
画面内にボタンがある時だけ自...
-
この画像のように、真ん中に点...
-
ワードで作った文章を筆ぐるめ2...
-
C# MenuStripを開いた状態にしたい
-
今時間を掛けてアンサーを書い...
-
windows2000で x86かx64の確認...
-
メールソフト「Thunderbird」で...
-
2週間ほど前からtokyomotionと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リンクに飛べる様にする際 「C...
-
ワードで直径4cmの円を作成...
-
アイコンに、四角い枠が出来て...
-
E-mailの署名について
-
マイページの出し方が分かりま...
-
ワードのハイパーリンク、Ctrl...
-
ザラのサイトが開けない
-
パソコンの画面上に黒い四角が...
-
グーグルマップのストリートビュー
-
PC上からメールのアイコンが消えた
-
日本語入力がひっきりなしにフ...
-
PCのグーグルマップで現在地が...
-
windows11フォトビューア
-
ワードで作った文章を筆ぐるめ2...
-
ヤフー。トップページに戻ると1...
-
QRコード読み取り後、一発でメ...
-
教えてGoo って プロフィールか...
-
internet explorerで都度パス...
-
c:users/USER/videos/〜に保存...
-
WORDでチェックボックスにチェ...
おすすめ情報