第一次海报和jQuery / JS初学者 . 我试图找到关于如何在两个滚动位置之间切换的答案,我相信我发现的一些答案对我来说有点太复杂了 . 由于我可能不知道如何谷歌正确的问题我认为我终于问社区 .
最终目标是创建一个大型的手风琴类型页面,在单击“打开项目”按钮时打开项目详细信息 .
我想要解决的第一个挑战是点击一般的“打开项目”按钮,它会将我向下滚动到按钮的顶部 . 然后再次单击时将我向上滚动到父div的顶部 . 该按钮最终会说“关闭项目” .
问:
-
首次单击"open project"以向下滚动到按钮顶部
-
再次单击"open project"将我滚动到按钮父div的顶部
-
对具有相同类名的多个按钮执行this()操作
我已经查看了线程jQuery click / toggle between two functions,在尝试应用scrollTo功能时,答案让我有点失落 . 我尝试了许多尝试但后来尝试自己解决 . 请善待 . 我在学 .
任何帮助都会很棒 . 这是我的prototype和jQuery:
$(".buttonToggleProjectDetails").click(function() {
if ($(this) !== $(this).offset().top;) {
$('html,body').animate({
scrollTop: $(this).offset().top},
'slow');
} else {
$('html,body').animate({
scrollTop: $(this).parent().offset().top},'slow');
}
});
1 回答
您的条件(代码的第2行)没有任何意义,因为您正在检查
jQuery
对象是否不等于一个数字,它始终是true
.通过在你的问题中阅读"The ask",我认为你想要:
移动到奇数点击按钮的顶部 .
在偶数点击时移动到父容器的顶部 .
每个按钮的上述功能分开 .
Code:
您可以找到jsfiddle here的更新版本,或者查看以下代码段 .
Snippet:
Edit:
要检查
this
是否位于视口的顶部,您可以使用: