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

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

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

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

Q&A

0回答

1631閲覧

パララックjsでスマホ時も上下スワイプで動かせる書き方を教えて頂きたいです。

nido

総合スコア6

JavaScript

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

0グッド

0クリップ

投稿2018/06/28 06:49

前提・実現したいこと

JS初心者なので教えて頂きたいです。
これにマウスホイールイベントの他にスマホやタブレットでの
上下スワイプでも動くようにしたいのですが、どのように書けば良いでしょうか?

該当のソースコード

javascript

1$(function () { 2contents = $("#contents"); 3nav = $("#nav ul"); 4num = 0; 5contentset(); 6function contentset() { 7var wrapper = $("#wrapper"); 8winhight = $(window).height(); 9navheight = (winhight - nav.height()) / 2; 10wrapper.css("height", winhight); 11$("#nav").css("top", navheight); 12} 13 14nav.children("li").click(function(){ 15nav.children("li").removeClass("selected"); 16$(this).addClass("selected"); 17movecontent(); 18var num = nav.children("li").index(nav.children(".selected")); 19animcontent(num); 20}); 21function movecontent() { 22var content = $("article"); 23var num = nav.children("li").index(nav.children(".selected")); 24contentmgn = $("article").height(); 25contentmgn = -(num * contentmgn); 26contents.animate({"top": contentmgn}, 1000, "easeInOutExpo"); 27} 28$(".prev").click(function(){ 29var btnslect = nav.children("li").index(nav.children(".selected")) - 1; 30nav.children("li").removeClass("selected"); 31nav.children("li").eq(btnslect).addClass("selected"); 32movecontent(); 33return false; 34animcontent(num); 35}); 36$(".next").click(function(){ 37var btnslect = nav.children("li").index(nav.children(".selected")) + 1; 38nav.children("li").removeClass("selected"); 39nav.children("li").eq(btnslect).addClass("selected"); 40movecontent(); 41return false; 42animcontent(num); 43}); 44$(".top").click(function(){ 45nav.children("li").removeClass("selected"); 46nav.children("li").eq(0).addClass("selected"); 47movecontent(); 48return false; 49animcontent(num); 50}); 51 52$(function(){ 53 var box = $("html,body")[0]; 54 box.addEventListener("touchmove", touchHandler, false); 55 box.addEventListener("touchend", touchHandler, false); 56}); 57function touchHandler(e){ 58 e.preventDefault(); 59 var touch = e.touches[0]; 60 if(e.type == "touchmove"){ 61 62 } 63 if(e.type == "touchend"){ 64 65 } 66} 67 68 69$("html,body").mousewheel(function(){ 70 if($('#nav ul').children('li:nth-child(1)').hasClass('selected')){ 71 $('.main').removeClass("move"); 72 } 73 else { 74 $('.main').addClass("move"); 75 } 76}); 77$("html,body").mousewheel(function(){ 78 if($('#nav ul').children('li:nth-child(2)').hasClass('selected')){ 79 $('.main').addClass("move"); 80 } 81 else { 82 83 } 84}); 85 86 87 88$("html,body").mousewheel(function(event, delta, deltaX, deltaY) { 89if(!contents.is(":animated")) { 90if(delta < 0) { 91if(nav.children("li").eq(5).attr("class") !== "selected") { 92var select1 = nav.children("li").index(nav.children(".selected")) + 1; 93nav.children("li").removeClass("selected"); 94nav.children("li").eq(select1).addClass("selected"); 95movecontent(); 96var num1 = nav.children("li").index(nav.children(".selected")); 97animcontent(num1); 98} 99} else if(delta > 0) { 100if(nav.children("li").eq(0).attr("class") !== "selected") { 101var select2 = nav.children("li").index(nav.children(".selected")) - 1; 102nav.children("li").removeClass("selected"); 103nav.children("li").eq(select2).addClass("selected"); 104movecontent(); 105var num2 = nav.children("li").index(nav.children(".selected")); 106animcontent(num2); 107} 108} 109event.preventDefault(); 110} 111}); 112}); 113 114 115 116/*------------------------------------------------------------------*/ 117$(window).load(function() { 118//画面高さ取得 119h = $(window).height(); 120h2 = h - 0; 121$("#contents #main article").css("min-height", h + "px"); 122$("#contents #main article section").css("min-height", h2 + "px"); 123}); 124$(window).resize(function() { 125//画面リサイズ高さ取得 126h = $(window).height(); 127h2 = h - 0; 128$("#contents #main article").css("min-height", h + "px"); 129$("#contents #main article section").css("min-height", h2 + "px"); 130}); 131

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問