質問編集履歴
4
情報の追加
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -51,7 +51,7 @@ 
     | 
|
| 
       51 
51 
     | 
    
         
             
            	});
         
     | 
| 
       52 
52 
     | 
    
         
             
            });
         
     | 
| 
       53 
53 
     | 
    
         
             
            ```
         
     | 
| 
       54 
     | 
    
         
            -
            上記scriptだと、1番最初の.svgしかアニメーションしません。
         
     | 
| 
      
 54 
     | 
    
         
            +
            上記scriptだと、1番最初の.svgしかアニメーションしません。(2回目以降、flgがtrueになってるため、if文の条件に当てはまらなくなっている?)
         
     | 
| 
       55 
55 
     | 
    
         | 
| 
       56 
56 
     | 
    
         
             
            ```javascript
         
     | 
| 
       57 
57 
     | 
    
         
             
            $(function() {	
         
     | 
3
コードの修正
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -21,10 +21,13 @@ 
     | 
|
| 
       21 
21 
     | 
    
         
             
            ```
         
     | 
| 
       22 
22 
     | 
    
         
             
            ```Javascript
         
     | 
| 
       23 
23 
     | 
    
         
             
            $(function() {	
         
     | 
| 
       24 
     | 
    
         
            -
            	var target = $(".svg").offset().top;
         
     | 
| 
      
 24 
     | 
    
         
            +
            	var target = $(".svg").offset().top; //---(1)
         
     | 
| 
       25 
     | 
    
         
            -
            	var windowHeight = $(window).height();
         
     | 
| 
      
 25 
     | 
    
         
            +
            	var windowHeight = $(window).height(); //---(2)
         
     | 
| 
       26 
     | 
    
         
            -
            	var flg = false;
         
     | 
| 
      
 26 
     | 
    
         
            +
            	var flg = false; //---(3)
         
     | 
| 
      
 27 
     | 
    
         
            +
            	var scrolltop = 0; //---(4)
         
     | 
| 
      
 28 
     | 
    
         
            +
            	var startPoint = 0; //---(5)
         
     | 
| 
       27 
29 
     | 
    
         | 
| 
      
 30 
     | 
    
         
            +
            	//(6)
         
     | 
| 
       28 
31 
     | 
    
         
             
            	var mySVG = $('.svg').drawsvg({
         
     | 
| 
       29 
32 
     | 
    
         
             
            	   duration:2000, 
         
     | 
| 
       30 
33 
     | 
    
         
             
            	   stagger:100,
         
     | 
| 
         @@ -32,23 +35,18 @@ 
     | 
|
| 
       32 
35 
     | 
    
         
             
            	   reverse:false
         
     | 
| 
       33 
36 
     | 
    
         
             
            	});
         
     | 
| 
       34 
37 
     | 
    
         | 
| 
      
 38 
     | 
    
         
            +
            	//(7)	
         
     | 
| 
       35 
39 
     | 
    
         
             
            	$(window).on('scroll resize',function(){
         
     | 
| 
       36 
     | 
    
         
            -
            		$(window).scroll(function (){
         
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
      
 40 
     | 
    
         
            +
            		$(".svg").each(function(){
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
            				var imgPos = $(this).offset().top + 30;
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
      
 41 
     | 
    
         
            +
            			scrolltop = $(window).scrollTop();
         
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
      
 42 
     | 
    
         
            +
            			windowHeight = $(window).height();
         
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
      
 43 
     | 
    
         
            +
            			startPoint = scrolltop + windowHeight - 100;
         
     | 
| 
      
 44 
     | 
    
         
            +
            			if(startPoint > target){
         
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
      
 45 
     | 
    
         
            +
            				if(flg==false){
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
      
 46 
     | 
    
         
            +
            					$(this).drawsvg('animate');
         
     | 
| 
       46 
     | 
    
         
            -
            						$(this).addClass('test');//検証用
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
      
 47 
     | 
    
         
            +
            					flg = true;
         
     | 
| 
       48 
     | 
    
         
            -
            					 }
         
     | 
| 
       49 
48 
     | 
    
         
             
            				}
         
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
     | 
    
         
            -
            			} 
     | 
| 
      
 49 
     | 
    
         
            +
            			}
         
     | 
| 
       52 
50 
     | 
    
         
             
            		});
         
     | 
| 
       53 
51 
     | 
    
         
             
            	});
         
     | 
| 
       54 
52 
     | 
    
         
             
            });
         
     | 
| 
         @@ -57,10 +55,13 @@ 
     | 
|
| 
       57 
55 
     | 
    
         | 
| 
       58 
56 
     | 
    
         
             
            ```javascript
         
     | 
| 
       59 
57 
     | 
    
         
             
            $(function() {	
         
     | 
| 
       60 
     | 
    
         
            -
            	var target = $(".svg").offset().top;
         
     | 
| 
      
 58 
     | 
    
         
            +
            	var target = $(".svg").offset().top; //---(1)
         
     | 
| 
       61 
     | 
    
         
            -
            	var windowHeight = $(window).height();
         
     | 
| 
      
 59 
     | 
    
         
            +
            	var windowHeight = $(window).height(); //---(2)
         
     | 
| 
       62 
     | 
    
         
            -
            	var flg = false;
         
     | 
| 
      
 60 
     | 
    
         
            +
            	var flg = false; //---(3)
         
     | 
| 
      
 61 
     | 
    
         
            +
            	var scrolltop = 0; //---(4)
         
     | 
| 
      
 62 
     | 
    
         
            +
            	var startPoint = 0; //---(5)
         
     | 
| 
       63 
63 
     | 
    
         | 
| 
      
 64 
     | 
    
         
            +
            	//(6)
         
     | 
| 
       64 
65 
     | 
    
         
             
            	var mySVG = $('.svg').drawsvg({
         
     | 
| 
       65 
66 
     | 
    
         
             
            	   duration:2000, 
         
     | 
| 
       66 
67 
     | 
    
         
             
            	   stagger:100,
         
     | 
| 
         @@ -68,24 +69,20 @@ 
     | 
|
| 
       68 
69 
     | 
    
         
             
            	   reverse:false
         
     | 
| 
       69 
70 
     | 
    
         
             
            	});
         
     | 
| 
       70 
71 
     | 
    
         | 
| 
      
 72 
     | 
    
         
            +
            	//(7)	
         
     | 
| 
       71 
73 
     | 
    
         
             
            	$(window).on('scroll resize',function(){
         
     | 
| 
       72 
     | 
    
         
            -
            		$(window).scroll(function (){
         
     | 
| 
       73 
     | 
    
         
            -
             
     | 
| 
      
 74 
     | 
    
         
            +
            		$(".svg").each(function(){
         
     | 
| 
      
 75 
     | 
    
         
            +
            			scrolltop = $(window).scrollTop();
         
     | 
| 
      
 76 
     | 
    
         
            +
            			windowHeight = $(window).height();
         
     | 
| 
      
 77 
     | 
    
         
            +
            			startPoint = scrolltop + windowHeight - 100;
         
     | 
| 
      
 78 
     | 
    
         
            +
            			if(startPoint > target){
         
     | 
| 
      
 79 
     | 
    
         
            +
            				$(this).drawsvg('animate');//検証
         
     | 
| 
       74 
80 
     | 
    
         | 
| 
       75 
     | 
    
         
            -
            				var imgPos = $(this).offset().top + 30;
         
     | 
| 
       76 
     | 
    
         
            -
            				var scroll = $(window).scrollTop();
         
     | 
| 
       77 
     | 
    
         
            -
            				var windowHeight = $(window).height();
         
     | 
| 
       78 
     | 
    
         
            -
             
     | 
| 
       79 
     | 
    
         
            -
            				if (scroll > imgPos - windowHeight + windowHeight/5){
         
     | 
| 
       80 
     | 
    
         
            -
                          $(this).drawsvg('animate');
         
     | 
| 
       81 
     | 
    
         
            -
            // 
     | 
| 
      
 81 
     | 
    
         
            +
            //				if(flg==false){
         
     | 
| 
       82 
     | 
    
         
            -
            // 
     | 
| 
      
 82 
     | 
    
         
            +
            //					$(this).drawsvg('animate');
         
     | 
| 
       83 
     | 
    
         
            -
            //						$(this).addClass('test');
         
     | 
| 
       84 
     | 
    
         
            -
            // 
     | 
| 
      
 83 
     | 
    
         
            +
            //					flg = true;
         
     | 
| 
       85 
     | 
    
         
            -
            // 
     | 
| 
      
 84 
     | 
    
         
            +
            //				}
         
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
      
 85 
     | 
    
         
            +
            			}
         
     | 
| 
       87 
     | 
    
         
            -
             
     | 
| 
       88 
     | 
    
         
            -
            			});
         
     | 
| 
       89 
86 
     | 
    
         
             
            		});
         
     | 
| 
       90 
87 
     | 
    
         
             
            	});
         
     | 
| 
       91 
88 
     | 
    
         
             
            });
         
     | 
2
タイトルの修正
    
        title	
    CHANGED
    
    | 
         @@ -1,1 +1,1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            jQuery DrawSVG:スクロール 
     | 
| 
      
 1 
     | 
    
         
            +
            jQuery DrawSVG:複数あるSVGをスクロールして可視範囲に入ったタイミングでアニメーションさせたい
         
     | 
    
        body	
    CHANGED
    
    | 
         
            File without changes
         
     | 
1
情報の追加
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -2,7 +2,7 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            希望の動きとして、1ページ内に複数あるSVGをスクロールして可視範囲に入ったタイミングでアニメーションさせたいです。
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
            参考にしたサイト:https://stand-4u.com/web/javascript/drawsvg.html
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
      
 5 
     | 
    
         
            +
            (ターゲットが見える位置までスクロールしてから、一度だけsvg アニメーションを実行する方法)
         
     | 
| 
       6 
6 
     | 
    
         
             
            ```html
         
     | 
| 
       7 
7 
     | 
    
         
             
            <div class="box">
         
     | 
| 
       8 
8 
     | 
    
         
             
            <svg class="svg">略</svg>
         
     |