我有一个脚本使用窗口滚动来为我的标题容器添加效果。
$(window).scroll(function() {
if ($(document).scrollTop() > 150) {
$('#main-page').addClass('appear');
$('#logo1').fadeOut(0);
$('#logo2').show(0);
}
else {
$('#logo2').hide(0);
$('#logo1').fadeIn(0);
$('#main-page').removeClass('appear');
}
});
我在页面上有这个功能,用于在用户滚动div时触发我的图表功能
$(window).scroll(function() {
var hT = $('#token-stats').offset().top,
hH = $('#token-stats').outerHeight(),
wH = $(window).height(),
wS = $(this).scrollTop();
console.log((hT-wH) , wS);
if (wS > (hT+hH-wH)){
drawDoughnutChart();
$(window).off('scroll')
}
});
我想在第一个函数中尝试将其重新打开,或者我在图表函数中添加一些内容,然后将其关闭?
答案 0 :(得分:0)
如果我理解正确,您需要使用jQuery namespaces
,这样您off
将仅显示图表的滚动,而不是徽标的滚动。
所以在第二个脚本中你需要做这样的事情:
$(window).on('scroll.chart', function() {
var hT = $('#token-stats').offset().top,
hH = $('#token-stats').outerHeight(),
wH = $(window).height(),
wS = $(this).scrollTop();
console.log((hT - wH), wS);
if (wS > (hT + hH - wH)) {
drawDoughnutChart();
$(window).off('scroll.chart')
}
});
虽然$(window).off('scroll.chart')
只会off
这个处理程序。