質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
スライダー

GUIのグラフィカルウィジェットのひとつです。インジケーターを動かすことで値を調節可能とします。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

2回答

4513閲覧

jqueryのtrigger()について

aaaaaaaa

総合スコア501

スライダー

GUIのグラフィカルウィジェットのひとつです。インジケーターを動かすことで値を調節可能とします。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2015/10/19 07:55

編集2015/10/23 02:55

下記のソースは、スライダー要素の大きさをブラウザの幅、高さに連動させるものです。
ソースから、メソッドチェーンしているtrigger('resize')をはずすと、ページ読み込み時に本来一番目に表示されるスライダーが表示されなくなります。
ただ、これ自体は、最初にページを読み込んだときにresizeは実行されないので、trigger()で実行させているというところまでは、過去の質問で理解できたのですが、$(window).on('resize load')でrisize以外の方法、つまり読み込んだ際にも大きさを指定するソースを書いているのですが、上手くいきませんでした。

loadイベントで最初にページを開いた際に大きさを合わせたつもりだったのですが、これはなぜ上手くいかなかったのでしょうか。

javascript

1$(window).on('resize load', function() { 2 3 var w = $(window).width(); 4 var h = $(window).height(); 5 6 var slider_resize = [ 7 '.slide00',//一番目のスライダー 8 '.slide01',//二番目のスライダー 9 '.slide02',//三番目のスライダー 10 '.slide03'//最後のスライダー 11 ] 12 13 // 各スライダーに処理を行う 14 $.each(slider_resize,function(index, value){ 15 $(value).css({'width': w, 'height': h - 70}) ; 16 }); 17}).trigger('resize');//

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

.trigger('resize');って使ったこと無いんでアレなんですが、
ようするに、$(window).on('resize load'~ってしてるのに、.trigger('resize');とかしないと初回読み込みで動かないのはなんで?ってことですよね?
やってみたんですが、ふつうに動きましたよ?(そういうことじゃない?)

$(window).on('resize load' の書き方って、問題ないはずですよ。

ただ最初の読み込み時、縦スクロールバーが発生しない程度のコンテンツ内容であれば横スクロールバーが出てしまいますね。
縦スクロールバーがない状態の横幅取得→各要素に横幅と縦幅をeach→縦スクロールバーが発生し、結果横幅が圧迫され横スクロールバーも出る。
という残念な感じになりました。
これが今回の問題ということでしょうかね??

投稿2015/10/24 11:15

1000

総合スコア204

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aaaaaaaa

2015/10/26 06:50 編集

ご回答有難うございます。 初めて読み込むときに、本来表示されるべきスライダー(一番目のスライダー)が表示されずに別のスライダー(最後のスライダー)が出てきてしまうのです。 質問文、改めて読んでみるとあまりにも分かり辛い文章でした。申し訳ありませんでした。
1000

2015/11/02 16:08 編集

うーん。やはり何回やってもスライド1もちゃんと動いてます。 となると、全く別の問題が考えられますよ。 一応、ここに上げたソースとHTMLのみで試してみてはどうでしょう? 意外なところでミスってたりとかが考えられると思います。 というより、今思ったんですが、これ「スライダー」って書いてますね。 スライダーで尚且つ「最後のが表示される」ということはですよ、各スライド要素をposition:absolute;にしてませんか? そうなると、HTMLの構造上「後に書いたものがレイヤーが上」になるので、最後のヤツ鹿見え無いということになります。もしかしてこれでしょうか? であれば、背景色(や画像)をいったん無しにして、background:rgba(0,0,0,0.3);とかにして、 <div class="slide00">slide00</div> <div class="slide01">slide01</div> <div class="slide02">slide02</div> <div class="slide03">slide03</div> のみにしてためしてみてはいかがでしょう? ぜんぜんちがったらすいませんw
guest

0

load されるのは window じゃなくて、 documentだからではないでしょうか?


と推測したけど…

html

1<!DOCTYPE HTML> 2<html lang="ja-JP"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> 9 <script type="text/javascript"> 10 $(window).on('resize load', function (e) { 11 console.log(e.type); 12 console.log(e.target); 13 }).trigger('resize'); 14 </script> 15 </body> 16</html>

こうなった。
こうなった


html

1<!DOCTYPE HTML> 2<html lang="ja-JP"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> 9 <script type="text/javascript"> 10 $(window).on('load resize', function (e) { 11 console.log(e.type); 12 console.log(e.target); 13 }); 14 </script> 15 </body> 16</html>

のとき

イメージ説明

投稿2015/10/19 08:09

編集2015/10/19 08:24
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aaaaaaaa

2015/10/23 03:00

ご回答有難うございます。 なるほど、「windowが読み込まれたら」を表現するときに、「load」を使うのは間違いだったのですね。 windowが読み込まれた、とソース上で表現するにはどうすればよいのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問