2016-11-17 86 views
0

喜IM建立一個網站,現在我試圖讓當u上一個div單擊ü平滑滾動到其他分區,但它不是在這裏工作是我使用的代碼:Smooth div div id to div id not working?

<script> 
$("#knop").click(function() { 
    $('html, body').animate({ 
     scrollTop: $("#nieuws").offset().top 
    }, 2000); 
}); 
</script> 

的兩個div :

<div class="nieuwsbrief" id="knop" style="text-align:center; cursor: pointer;">BLIJF OP DE HOOGTE<br> MET ONZE NIEUWSBRIEF</div> 

<div id="nieuws"></div> 

謝謝!

+0

除去','從第二選擇器。 –

+0

@KevinKloet仍然沒有工作:( –

+0

@prasad爲什麼需要CSS ?,這些div的沒有css –

回答

0

下面是一個方法來垂直滾動向後和兩個div之間轉發,使用純香草的javascript:

var div1 = document.getElementById('div1'); 
 
var div2 = document.getElementById('div2'); 
 

 
var verticalGapInPixels = 624; 
 
var scrollIncrementInPixels = 2; 
 
var numberOfIntervals = (verticalGapInPixels/scrollIncrementInPixels); 
 

 
function scrollBetweenDivs() { 
 
\t var i = 0; 
 
\t var scrollIncrement = (this.id === 'div1' ? scrollIncrementInPixels : -scrollIncrementInPixels); 
 

 
    var scrollByInterval = setInterval(
 
    \t function(){ 
 
    \t \t window.scrollBy(0,scrollIncrement); 
 
    \t \t i++; 
 
    \t \t if (i >= numberOfIntervals) {clearInterval(scrollByInterval);} 
 
    \t },1 
 
    ); 
 
} 
 

 
div1.addEventListener('click',scrollBetweenDivs,false); 
 
div2.addEventListener('click',scrollBetweenDivs,false);
div { 
 
width: 120px; 
 
height: 120px; 
 
margin: 12px auto 500px; 
 
text-align: center; 
 
border: 2px solid rgb(63,63,63); 
 
cursor: pointer; 
 
} 
 

 
div p { 
 
font-size: 12px; 
 
} 
 

 
#div1 { 
 
background: rgb(191,191,191); 
 
} 
 

 
#div2 { 
 
background: rgb(127,127,127); 
 
}
<div id="div1"> 
 
<h2>Div 1</h2> 
 
<p>Click to Scroll<br />Down to Div 2</p> 
 
</div> 
 

 
<div id="div2"> 
 
<h2>Div 2</h2> 
 
<p>Click to Scroll<br />Up to Div 1</p> 
 
</div>