![](/img/trans.png)
[英]How can I stop an onclick event from firing for parent element when child is clicked?
[英]How can I stop this event from firing?
我有这个网站:
在右侧栏中,您会注意到最后一个元素随滚动一起运行。
问题是,这不会停止……深入所有。
我尝试使用此功能来完成任务
代码JS:
var aux=0;
$("#text-3").addClass("follow-scroll");
var _footerH=$("#footer-container").outerHeight();
var _docH=$(document).height();
var _scrollP= $(window).scrollTop();
console.log("pozitie scroll",_scrollP);
console.log("inaltime footer",_footerH);
console.log("inaltime document HTML",_docH);
var element = $('.follow-scroll'),
originalY = element.offset().top;
var topMargin = 20;
element.css('position', 'relative');
$(window).on('scroll', function(event) {
var scrollTop = $(window).scrollTop();
console.log(scrollTop);
console.log("originalY:",originalY);
console.log("Scrolltop:",scrollTop);
console.log("topMargin:",topMargin);
var y = scrollTop - originalY + topMargin;
if(scrollTop < originalY) {
console.log("nu s-a declansat evenimentul");
}else {
//aici trebe adaugat top la div
aux=scrollTop - originalY + topMargin
$( '.follow-scroll' ).css( 'top', aux );
if(scrollTop>6000)
{
var _div = $( ".follow-scroll" );
var position = _div.position();
var top2=aux;
//aici trebuie sa primeasca ultimul top
$( '.follow-scroll' ).css( 'top', aux );
}
}
// top=aux;
// console.log("top_nou:",aux);
});
您能帮我解决这个问题吗? 如何在某个时候停止该元素?
提前致谢!
尝试将代码更改为此
var aux = 0;
$("#text-3").addClass("follow-scroll");
var _footerH = $("#footer-container").outerHeight();
var _docH = $(document).height();
var _scrollP = $(window).scrollTop();
console.log("pozitie scroll", _scrollP);
console.log("inaltime footer", _footerH);
console.log("inaltime document HTML", _docH);
var element = $('.follow-scroll'),
originalY = element.offset().top;
var topMargin = 20;
element.css('position', 'relative');
$(window).on('scroll', function (event) {
var scrollTop = $(window).scrollTop();
console.log(scrollTop);
console.log("originalY:", originalY);
console.log("Scrolltop:", scrollTop);
console.log("topMargin:", topMargin);
var y = scrollTop - originalY + topMargin;
if (scrollTop < originalY) {
console.log("nu s-a declansat evenimentul");
} else {
//aici trebe adaugat top la div
aux = scrollTop - originalY + topMargin
if (scrollTop > 6000) {
var _div = $(".follow-scroll");
var position = _div.position();
var top2 = aux;
//aici trebuie sa primeasca ultimul top
}else{
$('.follow-scroll').css('top', aux);
}
}
});
您会注意到,您应该只设置$('.follow-scroll').css('top', aux);
如果scrollTop <= 6000
否则将其保留在原处
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.