前提・実現したいこと
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
あなたの回答
tips
プレビュー