每次触发滚动时,我都会尝试使用标志来阻止滚动触发功能。 $(window).unbind("scroll");
因为我正在使用.scroll()
其他功能。那么为什么不阻止每次触发功能呢?
JS:
$(window).scroll(function() {
$("iframe").each( function() {
$this = $(this);
_src = $this.attr('src');
_ID = $this.attr('id');
_yPos = $(window).scrollTop();
_thisHT = $this.height();
_thisTop = $this.offset().top;
_thisBottom = _thisTop + _thisHT;
_Play = true;
if (_Play) {
if( _yPos > _thisTop*0.5 && _yPos < _thisBottom) {
$this.attr('src', _src + '&autoplay=1');
_Play=false;
//$(window).unbind("scroll");
} else {
$this.attr('src', _src);
}
}
});
});
答案 0 :(得分:0)
所以我发现了一种闷热,这很明显。我不得不将_play
移到$(window).scroll;
之外然后我使用增量而不是真/假(虽然这可能有效)
_play = '0';
$(window).scroll(function() {
$("iframe").each( function() {
$this = $(this);
_src = $this.attr('src');
_ID = $this.attr('id');
_yPos = $(window).scrollTop();
_thisHT = $this.height();
_thisTop = $this.offset().top;
_thisBottom = _thisTop + _thisHT;
if (_play === '0') {
if( _yPos > _thisTop*0.5 && _yPos < _thisBottom) {
_play = '1';
$this.attr('src', _src + '&autoplay=1');
//$(window).unbind("scroll");
} else {
$this.attr('src', _src);
}
}
});
});