こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

jQueryで困っています。教えてください。

スムーススクロールを導入しようと、いろいろ調べて以下のものを参考にさせていただこうと考えています。どうゆう流れになっているのかを調べて分からないことがあったので投稿させていただきました。var target = jQuery(href == "#" || href == "" ? 'html' : href);この行の意味がわかりません。また、targetに何が代入されているのか分かりません。回答よろしくお願いします。

jQuery--------------------------------------------
//スムーズスクロール
jQuery(function(){
// #で始まるアンカーをクリックした場合に処理
jQuery('a[href^=#]').click(function() {
// スクロールの速度
var speed = 1000; // ミリ秒
// アンカーの値取得
var href= jQuery(this).attr("href");
// 移動先を取得
var target = jQuery(href == "#" || href == "" ? 'html' : href);
// 移動先を数値で取得
var position = target.offset().top;
// スムーススクロール
jQuery('body,html').animate({scrollTop:position}, speed);
return false;
});
});

投稿日時 - 2015-09-21 18:03:53

QNo.9051398

すぐに回答ほしいです

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

カッコの中身「href == "#" || href == "" ? 'html' : href 」は三項演算子と呼ばれる条件演算式です。
http://www.ajaxtower.jp/js/ope/index14.html

従って、「href == "#" || href == ""」が真の場合、'html' にマッチした要素(要は <html> 要素)の jQuery オブジェクトが target に入ります。偽の場合は、href 変数の中身にマッチした要素の jQuery オブジェクトが target に入ります。

投稿日時 - 2015-09-22 02:01:23

お礼

ありがとうございます。解決することができました。また、よろしくお願いします。

投稿日時 - 2015-09-22 14:26:10

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問