2017-12-14 17 views
0

私は5つのチェックボックスと5つのdivを持っています。チェックボックスがチェックされている場合、divは.show、else divはhideです。チェックボックスは固定された位置にあり、スクロールする部分はdivを開きます。私は、チェックボックスがにチェックイン>ショーのdiv要素である場合、関数を追加し、チェックボックスにチェックが入っていれば

$('#first').click(function() { 
 
    if ($(this).is(':checked')) { 
 

 
    $("#fifth").show(400); 
 
    } else { 
 
    $("#fifth").hide(400); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="container"> 
 
    <div class="row"> 
 

 
     <input id="first" type="checkbox" class="styled" checked> 
 
     <label for="checkboxhovuz"> 
 
     On check you g to 5-th div 
 
     </label> 
 

 

 
<div class="row" > 
 
    <br><br><br><br><br><br>text first<br><br><br> 
 
</div> 
 
<div class="row"> 
 
    <br><br><br><br><br><br>text second<br><br><br> 
 
</div> 
 
<div class="row"> 
 
    <br><br><br><br><br><br>text third<br><br><br> 
 
</div> 
 
<div class="row"> 
 
    <br><br><br><br><br><br>text fourth<br><br><br> 
 
</div> 
 
<div class="row" id="fifth"> 
 
    <br><br><br><br><br><br>text fifth<br><br><br> 
 
</div>

+2

'私は、チェックボックスが>にチェックインショーのdiv要素であれば機能を追加し、div'に行く必要があり、なぜあなたがそれをしないのですか?何があなたを後押しする? http://stackoverflow.com/help/how-to-ask – Twinfriends

+2

特定の要素にスクロールする方法をお探しの場合は、これを見てください:https://stackoverflow.com/questions/6677035/jquery-scroll-to-element – Titus

+2

[jQueryを使わないでスクロール/ジャンプする]の可能な複製(https://stackoverflow.com/questions/13266746/scroll-jump-to-id-without-jquery) –

答えて

4

をDIVに行く必要があるときに条件文にスクロールに.animate()方法を使用して問題の要素を考えてみましょう例えば、trueに評価されます。

$('html, body').animate({ 
     scrollTop: $("#fifth").offset().top 
    }, 2000); 

コードスニペットデモンストレーション:

$('#first').click(function() { 
 

 
    if ($(this).is(':checked')) { 
 
    
 
    $("#fifth").show(400); 
 
    
 
    $('html, body').animate({ 
 
     scrollTop: $("#fifth").offset().top 
 
    }, 2000); 
 
    
 
    } else { 
 
    
 
    $("#fifth").hide(400); 
 
    
 
    } 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="container"> 
 
    <div class="row"> 
 

 
    <input id="first" type="checkbox" class="styled" checked> 
 
    <label for="checkboxhovuz"> 
 
     On check you g to 5-th div 
 
     </label> 
 

 

 
    <div class="row"> 
 
     <br><br><br><br><br><br>text first<br><br><br> 
 
    </div> 
 
    <div class="row"> 
 
     <br><br><br><br><br><br>text second<br><br><br> 
 
    </div> 
 
    <div class="row"> 
 
     <br><br><br><br><br><br>text third<br><br><br> 
 
    </div> 
 
    <div class="row"> 
 
     <br><br><br><br><br><br>text fourth<br><br><br> 
 
    </div> 
 
    <div class="row" id="fifth"> 
 
     <br><br><br><br><br><br>text fifth<br><br><br> 
 
    </div> 
 
    <div class="row"> 
 
     <br><br><br><br><br><br>text sixth<br><br><br> 
 
    </div> 
 
    <div class="row"> 
 
     <br><br><br><br><br><br>text seventh<br><br><br> 
 
    </div> 
 
    <div class="row"> 
 
     <br><br><br><br><br><br>text eigth<br><br><br> 
 
    </div>

+1

良い解決策、私の解決策はsimiliarでした! +1 – Tomm

+0

$( '#first')。( 'change'、function(){})の方が良いでしょうか? – VilleKoo

+0

ニースの解決策、ありがとう!) – Orik0

0

は私が持っていたこの1

$(document).ready(function() { 
    if ($('#first').is(':checked')) { 
    $("#fifth").show(400); 
    } else { 
    $("#fifth").hide(400); 
    } 
}); 
0

document.getElementById('tulantisular').scrollIntoView();

だから、総コードが Scroll/Jump to id without jQuery から取られた、ある追加しよう

$('#first').click(function() { 
 
    if ($(this).is(':checked')) { 
 
    $("#fifth").show(); 
 
    document.getElementById('fifth').scrollIntoView(); 
 
    } else { 
 
    $("#fifth").hide(); 
 
    } 
 
});

関連する問題