相关疑难解决方法(0)

如何检查jQuery中是否隐藏了一个元素?

是可能的切换元件的可见性,使用函数.hide(),.show().toggle().

如何测试元素是可见还是隐藏?

javascript jquery dom visibility

7481
推荐指数
53
解决办法
255万
查看次数

如何判断DOM元素在当前视口中是否可见?

是否有一种有效的方法来判断DOM元素(在HTML文档中)当前是否可见(出现在视口中)?

(关于Firefox的问题)

html javascript browser firefox dom

878
推荐指数
18
解决办法
46万
查看次数

当div可见时触发动作的jQuery事件

我在我的网站中使用jQuery,并且当某个div可见时我想触发某些操作.

是否有可能将某种"isvisible"事件处理程序附加到任意div并且在div可见时运行某些代码?

我想要像下面的伪代码:

$(function() {
  $('#contentDiv').isvisible(function() {
    alert("do something");
  });
});
Run Code Online (Sandbox Code Playgroud)

在实际使contentDiv可见之前,不应触发警报("执行某些操作")代码.

谢谢.

javascript jquery

303
推荐指数
11
解决办法
46万
查看次数

如果滚动到屏幕顶部,如何将div粘贴到屏幕顶部?

我想创建一个div,它位于一个内容块下面,但是一旦页面滚动到足以接触其顶部边界,就会固定到位并与页面一起滚动.我知道我至少看过一个这样的在线例子,但我不记得它对我的生活.

有什么想法吗?

javascript css jquery scroll positioning

293
推荐指数
9
解决办法
35万
查看次数

Jquery检查元素在视口中是否可见

用于检查div类"media"是否在浏览器可视视口内,而不管窗口滚动位置如何.

<HTML>
<HEAD>
  <TITLE>My first HTML document</TITLE>
</HEAD>
<BODY>
  <div class="main">
   <div class="media"></div>
  </div>

</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)

尝试使用此插件https://github.com/customd/jquery-visible与此功能,但我不知道如何使其工作.

$('#element').visible( true );
Run Code Online (Sandbox Code Playgroud)

javascript jquery visible

86
推荐指数
3
解决办法
19万
查看次数

检查元素是否在屏幕上可见

可能重复:
jQuery - 滚动后检查元素是否可见

我正在尝试确定元素是否在屏幕上可见.为了达到这个目的,我试图使用offsetTop找到元素的垂直位置,但返回的值不正确.在这种情况下,除非向下滚动,否则元素不可见.但是尽管如此,当我的屏幕高度为703时,offsetTop返回值618,因此根据offsetTop,元素应该是可见的.

我正在使用的代码如下所示:

function posY(obj)
{
  var curtop = 0;

  if( obj.offsetParent )
  {
    while(1)
    {
      curtop += obj.offsetTop;

      if( !obj.offsetParent )
      {
        break;
      }

      obj = obj.offsetParent;
    }
  } else if( obj.y )
    {
     curtop += obj.y;
    }

  return curtop;
}
Run Code Online (Sandbox Code Playgroud)

先感谢您!

javascript position offset

66
推荐指数
2
解决办法
13万
查看次数

元素变得可见时的jQuery

基本上,我想知道是否有一种方法可以在元素隐藏或可见时自动运行函数,而不是在用户单击时自动运行,而是在另一个脚本中自动运行.

我不希望这只运行一次,因为元素(如滑块)不断从可见变为隐藏.

这是jQuery可以用bind做的吗?比如将元素的可见性绑定到一个函数(我不知道如何写这个)

如果您需要我详细说明我正在尝试做什么,请告诉我.谢谢

伪代码:

$('#element').bind('display:none', function);
function(){
    //do something when element is display:none
}

$('#element').bind('display:block', function2);
function2(){
    //do opposite of function
}
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

48
推荐指数
2
解决办法
11万
查看次数

如何在不使用window.stop()的情况下中止图像<img>加载请求

我有一个很长的页面,可以在用户滚动时动态加载图像.

但是,如果用户快速滚动离开页面的某个部分,我不希望图像继续加载到页面中现在看不到的部分.

除了图像加载之外,页面上还有许多其他请求同时发生,因此在滚动事件上触发一个钝的window.stop()是不可接受的.

我已经尝试删除和清除不再在视图中的图像的img src属性,但是,由于请求已经启动,图像继续加载.

请记住,当用户短暂滚动浏览页面的那一部分时,图像src已填充.一旦过去,我无法在不使用window.stop()的情况下从停止加载中获取该图像.清除src不起作用.(Chrome&FF)

类似的帖子我发现接近,但似乎没有解决这个问题:

html javascript ajax jquery image

46
推荐指数
2
解决办法
2万
查看次数

仅在不在视图中时滚动到元素 - jQuery

我知道有几次这样的变化; 我已经浏览了一段时间,但要么我做错了,要么我找不到我需要的东西.

我有一个嵌套注释的结构,几乎和Facebook Comments插件一样,每当reply点击时,一个带有textarea的小表单和一个按钮出现在注释的底部.

同样,行为与Facebook Comments插件相同,我想在滚动新添加textarea到视图时实现相同的功能.

我已经尝试了scrollTo插件,它运行顺畅但是,即使我手动滚动到页面的最底部,滚动动画也将始终重置滚动位置并从顶部开始.

为了记录,这就是我调用scrollTo的方式:

$.scrollTo($('#addReply_1'), 800);
Run Code Online (Sandbox Code Playgroud)

其中addReply_1div包含表单.我已经大步滚动到表单本身和表单textarea.结果相同.

有没有办法滚动到元素只有它尚未可见?

我已经尝试过在SO上提供的许多解决方案,比如使用jQuery滚动到一个元素,但似乎都没有按照需要行事; 甚至滚动到具有jQuery的特定元素在滚动后检查元素是否可见显示相同的"跳跃"行为.


更新:在线演示以显示行为

我上传了一个html演示页面,显示了我抱怨的行为:http://www.wouldbebetter.com/demo/comment-demo.htm

只需滚动到页面底部,然后单击任何Reply链接即可查看我所指的"跳跃"滚动.

请注意,此演示使用scrollintoview@Robert Koritnik的答案插件,但如果我使用ScrollTo,行为也是一样的.

html jquery scroll

34
推荐指数
5
解决办法
3万
查看次数

如何检测用户何时使用jQuery滚动到页面上的某个区域?

可能重复:
如何检测页面滚动到jQuery中的某个点?
滚动后检查元素是否可见

如何检测用户何时到达此div:

<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />

<div id="theTarget">I have been reached</div>
Run Code Online (Sandbox Code Playgroud)

编辑

得到了这个问题的答案:

滚动后检查元素是否可见

所以我这样做了:

function isScrolledIntoView(elem)
{
    var docViewTop = $(window).scrollTop();
    var docViewBottom = docViewTop + $(window).height();
    var elemTop = $(elem).offset().top;
    var elemBottom = elemTop + $(elem).height();
    return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom) && (elemBottom <= docViewBottom) && (elemTop >= …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

33
推荐指数
2
解决办法
6万
查看次数

标签 统计

javascript ×9

jquery ×8

html ×4

css ×2

dom ×2

scroll ×2

ajax ×1

browser ×1

firefox ×1

image ×1

offset ×1

position ×1

positioning ×1

visibility ×1

visible ×1