Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery nextAll用于获取下一个元素的功能_Jquery_Scroll_Css Selectors - Fatal编程技术网

JQuery nextAll用于获取下一个元素的功能

JQuery nextAll用于获取下一个元素的功能,jquery,scroll,css-selectors,Jquery,Scroll,Css Selectors,我们有一个涉及一系列滚动面板的函数。当前的项目代码> LI/COD>在一个面板的中间有一个类。在滚动之后,该类总是被传递到< > >中间。 < P> >我想为下一个 LI>代码>单击面板滚动,以便该元素位于中间。scrollTo函数是我们函数的组成部分,运行良好。问题在于选择器。当您使用选择器单击函数时,$selectedLeft.nextAll('li')。next()。单击(function())将接管。面板不会向上或向下滚动。仅当单击下一个li之后的li时才会出现这种情况 $selec

我们有一个涉及一系列滚动面板的函数。当前的项目<代码>代码> LI/COD>在一个面板的中间有一个类<代码>。在滚动之后,该类总是被传递到< <代码> > >中间。

< P> >我想为下一个<代码> LI>代码>单击面板滚动,以便该元素位于中间。scrollTo函数是我们函数的组成部分,运行良好。问题在于选择器。当您使用选择器单击函数时,
$selectedLeft.nextAll('li')。next()。单击(function()
)将接管。面板不会向上或向下滚动。仅当单击下一个
li
之后的
li
时才会出现这种情况

$selectedLeft.nextAll('li').click( function() {
                        myScroll2.scrollTo(0, 32, 200, true);

                    });
                    $selectedLeft.nextAll('li').next().click( function() {
                        myScroll2.scrollTo(0, 64, 200, true);

                    });
                    $selectedLeft.prevtAll('li').click( function() {
                        myScroll2.scrollTo(0, -32, 200, true);

                    });
                    $selectedLeft.prevAll('li').prev().click( function() {
                        myScroll2.scrollTo(0, -64, 200, true);

                    });
因此,不管设置有多复杂,问题在于选择器,所以我希望有人能看到它。我尝试添加
.eq(0)
,但整个函数都失败了

有什么想法吗?怎么了

奇妙的


对你们大家来说都很好

选择器并不是问题所在

jQuery对象
$selectedLeft
不断变化,但您编写内容的方式仅将滚动事件绑定到初始对象。您需要
绑定
委托
您的滚动到所有未来
$selectedLeft
对象

同样,当
$selectedLeft
发生更改时,您需要解除上一个事件的绑定


另一个解决方案是检查当前所选li的索引,并检查单击的li是否距离一个或两个元素(例如,对jQuery对象使用“.eq()或数组表示法),这将清除一些“下一步”模糊性。

查看该页面会很有帮助,因此我们不必从头开始重新创建该页面来解决问题。这可能会很有帮助。它的效果不如当前页面,但当您单击所选日期下方的日期时,肯定会说明问题,尽管这是正确的。next()我设置了一个警报,它可以告诉我next()元素是什么,prev(),next().next()和prev().prev(),并且每次警报都是正确的。无论如何,我该如何实现你的方法。我从来没有使用过bind()控件