Javascript 滚动至Div-inside-Wrapper-not-Body

Javascript 滚动至Div-inside-Wrapper-not-Body,javascript,jquery,html,Javascript,Jquery,Html,我正在使用jQuery代码从滚动到包装器中的Div 提供的代码对身体进行了动画制作(在单击时向下滚动身体)。我正在尝试在div中对滚动进行动画制作,而不是身体 我的代码如下: HTML: 我知道它与$('html,body')有关。设置({})动画,但我不知道如何更改它 谢谢 JSFIDLE添加jQuery更新的文件引用 <script src="http://code.jquery.com/jquery-1.10.2.js" /> 添加jQuery更新的文件引用 <scr

我正在使用jQuery代码从滚动到包装器中的Div

提供的代码对身体进行了动画制作(在单击时向下滚动身体)。我正在尝试在div中对滚动进行动画制作,而不是身体

我的代码如下:

HTML:

我知道它与$('html,body')有关。设置({})动画,但我不知道如何更改它

谢谢


JSFIDLE

添加jQuery更新的文件引用

<script src="http://code.jquery.com/jquery-1.10.2.js"  />

添加jQuery更新的文件引用

<script src="http://code.jquery.com/jquery-1.10.2.js"  />

添加jQuery更新的文件引用

<script src="http://code.jquery.com/jquery-1.10.2.js"  />

添加jQuery更新的文件引用

<script src="http://code.jquery.com/jquery-1.10.2.js"  />

设置包装而不是身体的动画:

$('.Wrapper').animate({
    scrollTop: offsetTop
}, time);

设置包装而不是身体的动画:

$('.Wrapper').animate({
    scrollTop: offsetTop
}, time);

设置包装而不是身体的动画:

$('.Wrapper').animate({
    scrollTop: offsetTop
}, time);

设置包装而不是身体的动画:

$('.Wrapper').animate({
    scrollTop: offsetTop
}, time);
请尝试以下代码

    <body>     
 <a href="#Div3" class="ScrollDown">Scroll Down</a>

    <div class="Wrapper" style="height:200px; width:600px; overflow:scroll;">
       <div id="Div1" style="height:200px; width:600px;background-color:red;" ></div>
       <div id="Div2" style="height:200px; width:600px;background-color:green;" ></div>
       <div id="Div3" style="height:200px; width:600px;background-color:yellow;" ></div>
   </div>
 </body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">

function scrollToElement(selector, time, verticalOffset) {
    time = typeof(time) != 'undefined' ? time : 1000;
    verticalOffset = typeof(verticalOffset) != 'undefined' ? verticalOffset : 0;
    element = $(selector);
    offset = element.offset();
    offsetTop = offset.top + verticalOffset;
    $('.Wrapper').animate({
        scrollTop: offsetTop
    }, time);
}

$(document).ready(function() {
    $('a.ScrollDown').click(function (e) {
    e.preventDefault();
    scrollToElement('#Div3');
    }); 
}); 
</script>

函数scrollToElement(选择器、时间、垂直偏移){
时间=类型(时间)!=“未定义”?时间:1000;
垂直偏移=类型(垂直偏移)!=“未定义”?垂直偏移:0;
元素=$(选择器);
offset=element.offset();
offsetTop=offset.top+垂直偏移;
$('.Wrapper')。设置动画({
滚动顶:偏置
},时间);
}
$(文档).ready(函数(){
$('a.ScrollDown')。单击(函数(e){
e、 预防默认值();
scrollToElement(“#Div3”);
}); 
}); 
我想您希望div3在包装器内向下滚动

您需要首先将包装的高度指定为一个较小的数字,以便可以看到滚动 & 正如您所猜测的,将html的主体更改为.Wrapper

请务必寻求帮助

尝试以下代码

    <body>     
 <a href="#Div3" class="ScrollDown">Scroll Down</a>

    <div class="Wrapper" style="height:200px; width:600px; overflow:scroll;">
       <div id="Div1" style="height:200px; width:600px;background-color:red;" ></div>
       <div id="Div2" style="height:200px; width:600px;background-color:green;" ></div>
       <div id="Div3" style="height:200px; width:600px;background-color:yellow;" ></div>
   </div>
 </body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">

function scrollToElement(selector, time, verticalOffset) {
    time = typeof(time) != 'undefined' ? time : 1000;
    verticalOffset = typeof(verticalOffset) != 'undefined' ? verticalOffset : 0;
    element = $(selector);
    offset = element.offset();
    offsetTop = offset.top + verticalOffset;
    $('.Wrapper').animate({
        scrollTop: offsetTop
    }, time);
}

$(document).ready(function() {
    $('a.ScrollDown').click(function (e) {
    e.preventDefault();
    scrollToElement('#Div3');
    }); 
}); 
</script>

函数scrollToElement(选择器、时间、垂直偏移){
时间=类型(时间)!=“未定义”?时间:1000;
垂直偏移=类型(垂直偏移)!=“未定义”?垂直偏移:0;
元素=$(选择器);
offset=element.offset();
offsetTop=offset.top+垂直偏移;
$('.Wrapper')。设置动画({
滚动顶:偏置
},时间);
}
$(文档).ready(函数(){
$('a.ScrollDown')。单击(函数(e){
e、 预防默认值();
scrollToElement(“#Div3”);
}); 
}); 
我想您希望div3在包装器内向下滚动

您需要首先将包装的高度指定为一个较小的数字,以便可以看到滚动 & 正如您所猜测的,将html的主体更改为.Wrapper

请务必寻求帮助

尝试以下代码

    <body>     
 <a href="#Div3" class="ScrollDown">Scroll Down</a>

    <div class="Wrapper" style="height:200px; width:600px; overflow:scroll;">
       <div id="Div1" style="height:200px; width:600px;background-color:red;" ></div>
       <div id="Div2" style="height:200px; width:600px;background-color:green;" ></div>
       <div id="Div3" style="height:200px; width:600px;background-color:yellow;" ></div>
   </div>
 </body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">

function scrollToElement(selector, time, verticalOffset) {
    time = typeof(time) != 'undefined' ? time : 1000;
    verticalOffset = typeof(verticalOffset) != 'undefined' ? verticalOffset : 0;
    element = $(selector);
    offset = element.offset();
    offsetTop = offset.top + verticalOffset;
    $('.Wrapper').animate({
        scrollTop: offsetTop
    }, time);
}

$(document).ready(function() {
    $('a.ScrollDown').click(function (e) {
    e.preventDefault();
    scrollToElement('#Div3');
    }); 
}); 
</script>

函数scrollToElement(选择器、时间、垂直偏移){
时间=类型(时间)!=“未定义”?时间:1000;
垂直偏移=类型(垂直偏移)!=“未定义”?垂直偏移:0;
元素=$(选择器);
offset=element.offset();
offsetTop=offset.top+垂直偏移;
$('.Wrapper')。设置动画({
滚动顶:偏置
},时间);
}
$(文档).ready(函数(){
$('a.ScrollDown')。单击(函数(e){
e、 预防默认值();
scrollToElement(“#Div3”);
}); 
}); 
我想您希望div3在包装器内向下滚动

您需要首先将包装的高度指定为一个较小的数字,以便可以看到滚动 & 正如您所猜测的,将html的主体更改为.Wrapper

请务必寻求帮助

尝试以下代码

    <body>     
 <a href="#Div3" class="ScrollDown">Scroll Down</a>

    <div class="Wrapper" style="height:200px; width:600px; overflow:scroll;">
       <div id="Div1" style="height:200px; width:600px;background-color:red;" ></div>
       <div id="Div2" style="height:200px; width:600px;background-color:green;" ></div>
       <div id="Div3" style="height:200px; width:600px;background-color:yellow;" ></div>
   </div>
 </body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">

function scrollToElement(selector, time, verticalOffset) {
    time = typeof(time) != 'undefined' ? time : 1000;
    verticalOffset = typeof(verticalOffset) != 'undefined' ? verticalOffset : 0;
    element = $(selector);
    offset = element.offset();
    offsetTop = offset.top + verticalOffset;
    $('.Wrapper').animate({
        scrollTop: offsetTop
    }, time);
}

$(document).ready(function() {
    $('a.ScrollDown').click(function (e) {
    e.preventDefault();
    scrollToElement('#Div3');
    }); 
}); 
</script>

函数scrollToElement(选择器、时间、垂直偏移){
时间=类型(时间)!=“未定义”?时间:1000;
垂直偏移=类型(垂直偏移)!=“未定义”?垂直偏移:0;
元素=$(选择器);
offset=element.offset();
offsetTop=offset.top+垂直偏移;
$('.Wrapper')。设置动画({
滚动顶:偏置
},时间);
}
$(文档).ready(函数(){
$('a.ScrollDown')。单击(函数(e){
e、 预防默认值();
scrollToElement(“#Div3”);
}); 
}); 
我想您希望div3在包装器内向下滚动

您需要首先将包装的高度指定为一个较小的数字,以便可以看到滚动 & 正如您所猜测的,将html的主体更改为.Wrapper


请务必寻求帮助

是否包含jquery.min.js文件,我测试过它对我有效,能否显示完整的代码是的。这里有一个小提琴你有包括jquery.min.js文件,我测试它为我工作,你能显示完整的代码是我有。这里有一个小提琴你有包括jquery.min.js文件,我测试它为我工作,你能显示完整的代码是我有。这里有一个小提琴你有包括jquery.min.js文件,我测试它为我工作,你能显示完整的代码是我有。这是一把小提琴