- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在一个表单中有三个部分,所有部分都已折叠。这个想法是,当您单击其中一个时,它会打开并显示其内容。然后滚动到单击的元素。如果其中之一已经打开,则打开的必须关闭。
所以目前我有这段代码并且运行良好:
$('.form__step__wrapper').click(function(){
$(this).siblings().removeClass('open');
$(this).addClass('open');
$([document.documentElement, document.body]).animate({
scrollTop: $(this).offset().top
}, 200);
});
此代码的唯一问题是:当您单击某个打开元素下方 的元素时,它不会滚动到顶部,而是滚动到中间某处。如果我删除该功能:
$(this).siblings().removeClass('open');
它像它应该的那样工作,并且它平滑地滚动到正确的位置。但是当另一个部分应该再次折叠时,它会保持“打开”状态。
我认为这与 jQuery 从打开的部分中删除类有关,这会导致主体高度不同,因此您要滚动到的部分的位置会发生变化。
有人知道如何解决这个问题吗?
提前谢谢你。
最佳答案
您可以使用 Jquery 的方法 closest
或 parent
。要使用 siblings
,您必须创建一个循环来移除每个元素的类 open。
$(this).parent().find('.form__step__wrapper.open').removeClass('open');
$(this).addClass('open');
关于jquery - 如果 sibling 拥有该类(class),如何在单击时添加类(class)并删除该类(class)。然后滚动到点击的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58957730/
我正在制作一个应用程序来计算距离和面积,现在问题是我制作了一个数组并在其中附加了我的节点。 func calculate () { let start = dotNodes[0] le
在我的 Eclipse 上,双分隔符使用逗号而不是点,我想将其更改为逗号,但我不知道如何更改。代码本身如下: double latitudeBerlin = 52.51217; double long
我想知道,如果: string name_a; string name_b; 将有一些已经存在的函数可以让我比较两个字符串的一定数量的字符like strncmp() ,但来 self 的 strin
我在 X 轴上有点,我想从每个点到另一个点 (X2,Y2) 做直线。 此代码适用于从 Y=35 到 X 点 (P) 的蓝线,并且它有效 pos_fixed = np.array([0, TR]) li
我必须返回以度为单位的角度,它应该在 0 到 360(含)之间的范围内。我必须使用 math.h 库中的函数 acos()、asin() 和 atan()。在我的说明中,它说根据该点所在的象限,计算可
请考虑以下说明我的问题的简化示例: 主窗口.xaml 主窗口.xaml.cs using System; using System.Windows; using System.Windo
我是一名优秀的程序员,十分优秀!