Javascript 如何隐藏粘贴时粘贴的按钮';浮动';跳伞?
我有一个按钮Javascript 如何隐藏粘贴时粘贴的按钮';浮动';跳伞?,javascript,jquery,html,Javascript,Jquery,Html,我有一个按钮返回顶部,贴在屏幕的左侧-它使用滚动顶部在单击时滑动滚动到页面顶部。当页面加载时,按钮可见,不包括任何可读的内容等 当用户向下滚动页面时,该按钮会覆盖某些具有文本内容的div。当按钮进入这样一个DIV时,我希望使用.hide()将其隐藏。无法使其工作,以下是我所拥有的: var p = $('a.back-to-top'); var position = p.position(); if(position == $('#about-me')){
返回顶部
,贴在屏幕的左侧-它使用滚动顶部
在单击时滑动滚动到页面顶部。当页面加载时,按钮可见,不包括任何可读的内容等
当用户向下滚动页面时,该按钮会覆盖某些具有文本内容的div。当按钮进入这样一个DIV时,我希望使用.hide()
将其隐藏。无法使其工作,以下是我所拥有的:
var p = $('a.back-to-top');
var position = p.position();
if(position == $('#about-me')){
$('a.back-to-top').hide();
}
if(position=$(“#关于我”)
是检查按钮位置是否位于#关于我
DIV的正确方法吗?或者,我应该为DIV创建一个类似于position
的变量吗
编辑:一个混乱但简单的-position()方法返回一个具有.left和.top属性的position对象。所以基本上,您不能将位置与选择器返回的某个对象进行比较。相反,您应该比较两个元素的“top”属性值。
例如,您有:
var p = $('a.back-to-top');
var position = p.position();
还可以得到以下信息:
var aboutMePosition = $('#about-me').position();
然后你可以比较:
关于eposition.top和position.top,无论您需要哪种方式。您需要在回调中执行此检查。。可能是
$(窗口)。滚动,以便每次窗口滚动时都会选中它;否则,仅当页面加载时才会选中该选项
我认为您也不想使用position
,因为这是相对于父对象的位置。相反,您可能需要.offset
。这将返回一个包含顶部
和左侧
成员的对象。=
比较没有意义,特别是对于jQuery对象。您要使用:
$(window).on('scroll', function () {
var offset = $("a.back-to-top").offset().top;
var within = $("#about-me").offset().top;
if (offset >= within && offset <= within + $("#about-me").height()) {
$("a.back-to-top").hide();
}
else {
$("a.back-to-top").show();
}
});
$(窗口).on('scroll',函数(){
var offset=$(“a.back-to-top”).offset().top;
var within=$(“#关于我”).offset().top;
如果(offset>=在&&offset中,您可以发布一个简单的演示,展示您到目前为止、在或类似的代码的相关/示例吗?只有当两个DOM元素是同一DOM容器中包含的直接同级元素时,这才应该是准确的。如果不是,您可以使用offset()而不是position():)我没有意识到这个职位给了我一个卑鄙的回报,我想它会给我一些类似于使用screen.width的东西。我对jQuery来说已经足够新了!感谢您的解释和解决方案。