如何将动态值传递给Jquery中的其他插件选项(从accordion到localscroll)
这是我的设置。 在我的页面上有两列。在左栏中我有一个手风琴,下面我有一些文本,里面有链接。在右栏中,我有一些图片,这些图片由左栏文本中的链接控制。这些图片可以滚动 在我的页面上,我有一个手风琴,它可以很好地工作,并且是这样设置的如何将动态值传递给Jquery中的其他插件选项(从accordion到localscroll),jquery,scroll,accordion,Jquery,Scroll,Accordion,这是我的设置。 在我的页面上有两列。在左栏中我有一个手风琴,下面我有一些文本,里面有链接。在右栏中,我有一些图片,这些图片由左栏文本中的链接控制。这些图片可以滚动 在我的页面上,我有一个手风琴,它可以很好地工作,并且是这样设置的 $( "#accordion" ).accordion({ autoHeight: false, navigation: true, change: function(event, ui) { dynamicOffsetValue(); }/*T
$( "#accordion" ).accordion({
autoHeight: false,
navigation: true,
change: function(event, ui) { dynamicOffsetValue(); }/*This here call's the dynamicOffsetValue function after the accordion has finished animation*/
});
然后我有一个函数,它给我一个环绕accoridon的div的高度
function dynamicOffsetValue()
{
var top = $("#accordion").height();/*IF I ALERT THIS THEN IT GIVES ME THE NUMBER I NEED*/
}
dynamicOffsetValue();
然后,我还为右栏中的图像设置了一个localscroll插件
var scrollOptions = {
target:div#overflow, /* the element that has the overflow and contains images*/
offset:500,/*HOW TO I MAKE THIS EQUAL TO dynamicOffsetValue ???*/
axis: 'xy',
duration: 50,
easing: 'swing'
};
$('.scrollContainer').localScroll(scrollOptions);/*.scrollContainer(this element wraps both left and right column) */
现在,当页面加载,第一个手风琴打开,用户点击文本中的链接时,图像就会滚动到我想要的地方。但当手风琴以不同的状态打开时,偏移值500是不够的
我该如何做才能让当用户点击手风琴时,dynamicOffsetvalue被发送到scrollOptions,然后当用户点击文本内的链接时(触发localscroll),新的偏移量值被读取
希望所有这些都有意义。:) 你为什么不在链接中使用锚(
href=“#my_id”
)并将这些id添加到你想要的图像中,而不是设置偏移量?与往常一样,在发布这个问题后一点时间,我就找到了答案。(我已经在这两天里胡闹了)
这是我最后的设置。
我想我的问题是文本中的链接只有在页面加载时才被分配到localscroll,因此忽略了对scrollOptions的任何更新。但现在我已经将所有localscroll设置移到了dynamicOffset函数中,每次单击手风琴部分时,它(localscroll)都会被重新分配,然后它(localscroll)读取新更新的偏移值
$( "#accordion" ).accordion({
autoHeight: false,
navigation: true,
change: function(event, ui) { dynamicOffsetValue(); }/*This here call's the dynamicOffsetValue function after the accordion has finished animation*/
});
function dynamicOffsetValue()
{
var top = $("#accordion").height();/*IF I ALERT THIS THEN IT GIVES ME THE NUMBER I NEED*/
var scrollOptions = {
target:'div#overflow', /* the element that has the overflow and contains images*/
offset:top,/*THIS NOW EQUALS TOP*/
axis: 'xy',
duration: 50,
easing: 'swing'
};
$('.scrollContainer').localScroll(scrollOptions);/*.scrollContainer(this element wraps both left and right column) */
}
dynamicOffsetValue();