現在、コンテンツを作成していてわからないところが出て来たので教えて欲しいと思い質問させてもらいました。
ここのサイトのソースコードをもとに自分で勉強していて、ここで書かれているのをjqueryに変更してるのですが、コンテンツがスクロールしません。
デベロッパーツールで確認してみると、このようにマウスをクリックしてスクロールすると重複していることがわかりました。
そこでjqueryでのイベントでの重複処理のことを調べたら.onではなくて.addEventListenerこっちを使うという記事を見たのですが、jqueryでは出来ないのでしょうか?教えて欲しいです。
javascript
1$(funciton() 2{ 3 const slider = $('.items'); 4 let isDown = false; 5 let startX; 6 let scrollLeft; 7 8 slider.on( 9 { 10 'mousedown': function(e) 11 { 12 isDown = true; 13 slider.addClass('active'); 14 startX = e.pageX - slider.offsetLeft; 15 scrollLeft = slider.scrollLeft; 16 }, 17 'mouseleave': function() 18 { 19 isDown = false; 20 slider.removeClass('active'); 21 }, 22 'mouseup': function() 23 { 24 isDown = false; 25 slider.removeClass('active'); 26 }, 27 'mousemove': function(e) 28 { 29 if(!isDown) 30 { 31 return; 32 } 33 e.preventDefault(); 34 const x = e.pageX - slider.offsetLeft; 35 const walk = (x - startX) * 3; //scroll-fast 36 slider.scrollLeft = scrollLeft - walk; 37 console.log(slider.scrollLeft); 38 } 39 }); 40});
html
1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="utf-8" /> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <title>Page Title</title> 7 <meta name="viewport" content="width=device-width, initial-scale=1"> 8 <link rel="stylesheet" type="text/css" media="screen" href="main.css" /> 9 <script src="main.js"></script> 10</head> 11<body> 12 <!-- horizontal scrollここから --> 13<main class="grid-item main"> 14 <div class="items"> 15 <div class="item item1"></div> 16 <div class="item item2"></div> 17 <div class="item item3"></div> 18 <div class="item item4"></div> 19 <div class="item item5"></div> 20 <div class="item item6"></div> 21 <div class="item item7"></div> 22 <div class="item item8"></div> 23 <div class="item item9"></div> 24 <div class="item item10"></div> 25 </div> 26 <p>????????Click & Drag <i>powered by Javascript</i></p> 27 </main> 28 <!--horizontal scrollここまで --> 29</body> 30</html>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/21 06:59