有人可以告诉我如何滚动内容。 例如,我有一个像这样的链接
<a href="#">content3</a>
当用户点击该链接时,我想将内容滚动到div content3
。
有人可以告诉我如何使用jQuery做到这一点吗?
这是我的完整代码。
<div class="container">
<div class="nav">
<ul>
<li><a class="active" href="#">content1</a></li>
<li><a href="#">content2</a></li>
<li><a href="#">content3</a></li>
<li><a href="#">content4</a></li>
</ul>
</div>
<div id="content">
<div id="content1" class="content1">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div id="content2" class="content2">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div id="content3" class="content3">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div id="content4" class="content4">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
</div>
答案 0 :(得分:3)
您不需要jQuery来执行此操作 - 只需使用href="#content3"
滚动到带有id
“content3”的元素。
答案 1 :(得分:0)
jQuery有scrollTop和scrollLeft方法来做这个..如果它只是垂直滚动,那么scrollTop(yVal)就可以了。
答案 2 :(得分:0)
使用scrollTop:
示例:
<a scrollTo="content3" href="#">click me to scroll to the div "content3"</a>
$(document).ready(function(){
$('a').on('click',function(){
$("#container").animate({ scrollTop: $('#'+$(this).attr('scrollTo')).offset().top }, 1000);
});
});
答案 3 :(得分:0)
不知道你要做什么,但去看看wowslider.com
答案 4 :(得分:0)
使用$('body')。scrollTop属性如下:
$('#button1').click(function(){
var element = $('#content1'),
elemTop = element.offset().top, // You get the element top to know where to move the window
windowTop = elemTop + 20; // You can add some pixels so the element dont be shown on the very edge
$("html, body").animate({
scrollTop: windowTop // Animate the change so it doesnt seem invasive
}, "fast");
}
});
答案 5 :(得分:0)
试试这个......
$('a').on('click', function (){
$('html,body').animate({
scrollTop: $('#'+$(this).text()).offset().top},
'slow');
});
请参阅此JsFiddle Example
...问候
答案 6 :(得分:0)
根据您的标记,您似乎想要使用锚文本来确定滚动的位置。如果您点击content1
链接,则会将您滚动到<div id="content1">
。
$('.nav ul li a').click(function(){
$('html, body').animate({
scrollTop: $('#' + $(this).text()).offset().top
}, 2000);
});
以小提琴为例:http://jsfiddle.net/ZG3zh/
答案 7 :(得分:0)
要使用HTML滚动,您需要设置要滚动到的锚href
的{{1}}。
实施例:
我想滚动到#+'id of element'
使用<div id="scrollHere">Hello World</div>
代码或anchor
使用代码a