2/16更新与新代码以反映意见context.refresh()和/或Waypoint.refreshAll()不工作?
我有航点在页面上正常工作用下面的代码中发现的错误。请注意,我使用的是插件的3.1.1版,但我仍然使用类似于插件的2.x版的jQuery语法来处理一些复杂的选择器。此代码的工作:
var stickTop = wrapper.waypoint({
handler: function(direction){
var len = $(this.element).closest('.ctable').find('div.ctable-row').length;
if ((direction === 'down') && (len > 1)) {
$(this.element).closest('.ctable').find(stickTarget).addClass('stuck').css("top", $pageHeadOffset);
}
else if ((direction === 'up') && (len > 1)) {
$(this.element).closest('.ctable').find(stickTarget).removeClass('stuck');
}
},
offset: $pageHeadOffset,
});
这是(仍然)罚款和工作正常,但我有一个调整大小,有效地使页面更长的页面上的其他元素。为了解决这个问题,我已经试过另一个点击目标调用Waypoint.refreshAll();
和stickTop.context.refresh();
,像这样:
$('.page-info-link').click(function(){
$('.page-info').toggleClass('closed');
$('.page-info-message').slideToggle();
Waypoint.refreshAll();
});
但我不能得到刷新准确的信息。
有没有办法使用,如jQuery上面的语法(不通过元素:选项,还自称刷新
更新2/16:
这个新的代码现在会触发控制台错误:
$('.page-info-link').click(function(){
$('.page-info').toggleClass('closed')
$('.page-info-message').slideToggle()
stickTop.refresh()
});
错误: “未定义是不是一个函数”
您是否尝试过加入[调试脚本](http://imakewebthings.com/waypoints/guides/debugging/),并寻找,如果它产生的任何错误控制台作为你通过网页工作?我相信你的事情一般都是正确的,除了看起来你有一个固定的位置元素作为一个航点。 – imakewebthings 2015-02-15 05:34:04
你是对的,我错误地将固定位置添加到航点。我已经解决了这个问题,现在使用的是粘滞快捷方式使用的相同模型(在固定粘性元素周围有一个包装的div,它与粘性元素具有相同的指定高度)。 – alturnwall 2015-02-16 15:58:59
我已经用新代码更新了原始帖子,以及在控制台中抛出了“未定义”错误。看起来好像debig脚本现在正在做任何事情。谢谢你的帮助。 – alturnwall 2015-02-16 16:26:37