Javascript 如何在jquery中的内部选择器回调函数中获取当前父选择器的实例
如果单击的元素(即“.sbSelector”)与窗口底部的距离小于200px,我尝试在单击“.sbSelector”时将窗口向下滚动200pxJavascript 如何在jquery中的内部选择器回调函数中获取当前父选择器的实例,javascript,jquery,Javascript,Jquery,如果单击的元素(即“.sbSelector”)与窗口底部的距离小于200px,我尝试在单击“.sbSelector”时将窗口向下滚动200px $(document).on('click', '.sbSelector', function(){ var windowHeight = $(window).height(); var drpdwnOffsetTop = parseFloat($(this).offset().top - $(window).scrollTop())
$(document).on('click', '.sbSelector', function(){
var windowHeight = $(window).height();
var drpdwnOffsetTop = parseFloat($(this).offset().top - $(window).scrollTop());
if(parseFloat(windowHeight - drpdwnOffsetTop) < 200){
var temp = $(window).scrollTop() + 200;
$('html, body').animate({scrollTop: temp}, 500, function(){
**// How to get the instance of current '.sbSelector' here**
**// $(this) ll point to $(html,body), where as i need a reference to the current $('.sbSelector')**
});
}
});
$(文档).on('单击','.sbSelector',函数(){
var windowHeight=$(window.height();
var drpdwnOffsetTop=parseFloat($(this.offset().top-$(window.scrollTop());
如果(parseFloat(窗口高度-drpdwnOffsetTop)<200){
var temp=$(窗口).scrollTop()+200;
$('html,body')。设置动画({scrollTop:temp},500,function(){
**//如何在此处获取当前“.sbSelector”的实例**
**//$(这)将指向$(html,body),其中我需要对当前$('.sbSelector')的引用**
});
}
});
我的问题是如何在$('html,body').animate函数回调中获取当前'.sbSelector'的实例。Bcoz文档中可能有许多“.sbSelector”元素,我想指出动画回调中当前单击的“.sbSelector”。有关全局变量的详细信息,请查看
$(document).on('click', '.sbSelector', function(){
var windowHeight = $(window).height();
var drpdwnOffsetTop = parseFloat($(this).offset().top - $(window).scrollTop());
var that = $(this);
if(parseFloat(windowHeight - drpdwnOffsetTop) < 200){
var temp = $(window).scrollTop() + 200;
$('html, body').animate({scrollTop: temp}, 500, function(){
console.log(that);
});
}
});
$(文档).on('单击','.sbSelector',函数(){
var windowHeight=$(window.height();
var drpdwnOffsetTop=parseFloat($(this.offset().top-$(window.scrollTop());
var,该值=$(此值);
如果(parseFloat(窗口高度-drpdwnOffsetTop)<200){
var temp=$(窗口).scrollTop()+200;
$('html,body')。设置动画({scrollTop:temp},500,function(){
console.log(那个);
});
}
});
或者,您可以将其绑定到:
$(文档).on('单击','.sbSelector',函数(){
var windowHeight=$(window.height();
var drpdwnOffsetTop=parseFloat($(this.offset().top-$(window.scrollTop());
window.that=$(this);
如果(parseFloat(窗口高度-drpdwnOffsetTop)<200){
var temp=$(窗口).scrollTop()+200;
$('html,body')。设置动画({scrollTop:temp},500,function(){
console.log(window.that);
});
}
});
注意:在窗口对象上显式设置时,注意不要覆盖窗口对象的当前属性。此外,这在某些环境中不起作用,例如node.js
查看以获取有关全局变量的更多信息
$(document).on('click', '.sbSelector', function(){
var windowHeight = $(window).height();
var drpdwnOffsetTop = parseFloat($(this).offset().top - $(window).scrollTop());
var that = $(this);
if(parseFloat(windowHeight - drpdwnOffsetTop) < 200){
var temp = $(window).scrollTop() + 200;
$('html, body').animate({scrollTop: temp}, 500, function(){
console.log(that);
});
}
});
$(文档).on('单击','.sbSelector',函数(){
var windowHeight=$(window.height();
var drpdwnOffsetTop=parseFloat($(this.offset().top-$(window.scrollTop());
var,该值=$(此值);
如果(parseFloat(窗口高度-drpdwnOffsetTop)<200){
var temp=$(窗口).scrollTop()+200;
$('html,body')。设置动画({scrollTop:temp},500,function(){
console.log(那个);
});
}
});
或者,您可以将其绑定到:
$(文档).on('单击','.sbSelector',函数(){
var windowHeight=$(window.height();
var drpdwnOffsetTop=parseFloat($(this.offset().top-$(window.scrollTop());
window.that=$(this);
如果(parseFloat(窗口高度-drpdwnOffsetTop)<200){
var temp=$(窗口).scrollTop()+200;
$('html,body')。设置动画({scrollTop:temp},500,function(){
console.log(window.that);
});
}
});
注意:在窗口对象上显式设置时,注意不要覆盖窗口对象的当前属性。此外,这在某些环境下(如
node.js
@Manju)不起作用。如果您发现我的答案对您有帮助,请将其标记为已接受,这样它可以帮助其他人。@Manju如果您发现我的答案对您有帮助,请将其标记为已接受,这样它可以帮助其他人。