我有div元素中的链接列表,我使用dropcontent.js在单击链接时将内容加载到另一个div中.我现在想添加一些代码,将点击的链接滚动到浏览器窗口的顶部. 对于列表中的每个项目,HTML都是这样的
对于列表中的每个项目,HTML都是这样的:
<div class="work"> <h3><a class="scroll" href="project2.html">Project 2</a></h3> <div class="projectIntro"> <p>This is some intro text for project 2</p> </div> <div class="pictures"></div> </div>
我找到了点击链接时滚动到ID的教程(通过使href成为你想要滚动到的div的ID – 遗憾的是我不能这样做,因为我的href实际上是一个单独的html页面,即使它是使用dropcontent将其加载到当前页面.
我还找到了一个在页面加载时滚动到特定ID的教程,但没有一个只是说当点击给定类的锚时,将其滚动到浏览器窗口的顶部.
有人可以帮我解决这个问题吗?谢谢.
更新:
我使用以下代码运行滚动:
$('.work a').click(function() { $('html,body').animate({scrollTop: $(this).offset().top}, 500); });
但是,我的dropcontent.js已不再有效……我想因为我在同一次点击时出现了2个函数…我希望首先加载内容,然后滚动.
这是我的dropcontent.js
$('.work a').click(function(event) { event.preventDefault(); var parent = $(this).parents(".work"); var content_holder = parent.children(".pictures"); if (parent.hasClass("selected_work")) { close_other(); return; } close_other(); parent.addClass("selected_work"); content_holder.load(this + " #content .work"); $('.selected_work img').attr("src", "images/arrow_close.gif"); }); function close_other() { var selected_work = $('.selected_work'); selected_work.children('.pictures').empty(); $('.selected_work img').attr("src", "images/arrow_open.gif"); selected_work.removeClass("selected_work") } });
所以现在我只需要整合这两位代码就可以让它们一起工作……到目前为止,我没有运气这样做 – 如果我添加了滚动(动画)功能,加载功能就会停止工作……
更新2
事实证明这是造成问题的其他因素 – 我现在已经开始工作了!
以下是将链接滚动到顶部的方法:$('.work a').click(function() { $('html,body').animate({scrollTop: $(this).offset().top}, 500); });