当前位置: 首页 > 知识库问答 >
问题:

使用overflow-x在div中设置x滚动位置的纯javascript方法

游高杰
2023-03-14

如何使用纯javascript或angularjs使用水平/溢出-x设置div滚动的x位置?重要提示:我不是在寻找jquery解决方案——使用angularjs,jquery不会立即工作。

$anchorScroll()在angularjs中滚动到垂直位置,但不滚动到水平位置afaik。$window.scroll或window.scrollTo(x, y)不滚动溢出x div。如果这里有人确信我尝试过的方法在某些修改下会起作用,我也想知道。

共有2个答案

公冶高义
2023-03-14

我无意中发现了这个诡计,我正在寻找解决这个问题的跨浏览器解决方案
我发现scrollBy on元素只适用于Firefox<我知道这是一个老问题,但也许有人也像我一样寻找这个
假设div id是滚动的:

    function ScrollByLeft() {
          document.getElementById("scroll").scrollBy(10, 0);
    }
    function ScrollByRight() {
          document.getElementById("scroll").scrollBy(-10, 0);
    }

    function ScrollLeft() {
          document.getElementById("scroll").scrollLeft=10;
    }
    function ScrollRight() {
          document.getElementById("scroll").scrollLeft=-10;
    }
div#scroll {
	width: 180px;
	overflow-x: scroll;
}
<div id="scroll">
<p>
    Scroll.strange.wery.long.word.horizontally.for.10.pixels.left.and.right.also.but.only.on.Firefox.as.I.know</p>
</div>
<button onclick="ScrollByLeft()">ScrollBy Left!</button>
<button onclick="ScrollByRight()">ScrollBy Right!</button>
<br>
<button onclick="ScrollLeft()">ScrollLeft Left!</button>
<button onclick="ScrollRight()">ScrollLeft Right!</button>
陆俭
2023-03-14

您可以使用$(选择器)。向左滚动(amountToMove)

document.get使用纯javascript

angular.element(selector). scroll左(量ToMobile);使用angularjs。

 类似资料:
  • 问题内容: 我希望找到一种方法来获取当前可见窗口的位置(相对于总页面宽度/高度),以便可以将其强制从一个部分滚动到另一部分。但是,要猜测哪个对象对您的浏览器拥有真正的X / Y,似乎有很多选择。 为了确保IE 6 +,FF 2+和Chrome / Safari能正常工作,我需要选择以下哪两项? 还有其他吗?一旦知道窗口在哪里,就可以设置一个事件链,该事件链将缓慢调用直到到达所需的位置。 问题答案:

  • 想象我有容器 null null 我想要的是,第一个带有附加内容的项目覆盖在可滚动容器上。我想要这样的东西: 用纯CSS有可能吗? 在未来它应该是显示和隐藏的,这就是为什么我需要这样一个奇怪的东西。

  • 问题内容: 给出以下HTML代码段: 您(通常)会得到一个黑匣子,其中的滚动条包含一个数字1至30,每个数字都在新行中。 您可以在该框内上下滚动。 我现在需要的是找出框处于哪个滚动位置的可能性。假设每行高15像素,然后向下滚动到数字10,我想得到的结果是数字150(15像素* 10行)。 我在哪里可以找到这个号码? 我手上有普通的JavaScript和jQuery。 问题答案: 您需要使用该属性。

  • 问题内容: 我做了一个函数,应该在div中单击的位置上添加一个项目。现在,此功能的问题在于,每次单击时,它都会采用文档的x&y位置,而不是div内的x&y位置。因此,我真正想要的是div的左上角应给出x = 0和y = 0,但是我不知道这是否可行吗?我想还有另一种方法。 问题答案: 你需要改变,以和对 您没有添加模板定义,但是为了以防万一,我将添加它:

  • 我对Google Chrome、flexbox和overflow有一个奇怪的问题。 当容器处于flexbox模式时,子容器开始水平溢出(比如通过javascript更改内容的宽度),滚动条会出现,但无法操作。 强制浏览器重新绘制(例如,通过调整大小)将使滚动条再次正常工作。 下面是一个例子:http://jsfiddle.net/w8rtk2de/3/ 在谷歌浏览器中 如果有人能快速解决这个问题,

  • 目前,我在我的视频右下方添加水印,以防止其他人重新发布它。然而,它们模糊了水印,所以我想添加一个移动水印,每隔x秒改变它的位置。 下面是我当前的ffmpeg命令: 如何每隔30秒让水印位置从右下到右上,到左上,再到左下?谢谢你。