美文网首页
实现iframe内容页拖拽代替滚动条滚动

实现iframe内容页拖拽代替滚动条滚动

作者: 小男孩7652 | 来源:发表于2018-02-20 17:27 被阅读0次

需求:用iframe标签链接一个网页,iframe设置固定宽高,隐藏滚动条,当内容页宽高大于iframe宽高,拖动内容页代替滚动看到隐藏的内容

1.获取内容页的window对象

var iframeWin = document.getElementById("test").contentWindow;

2.获取内容页的document对象

var iframedoc = iframeWin.document;

3.获取拖动初始时鼠标指针相对浏览器窗口的坐标

var posX = e.clientX;

var posY = e.clientY;

4.获取拖动初始时iframe的滚动距离

var scrollX = iframeWin.scrollX;

var scrollY = iframeWin.scrollY;

5.内容页随鼠标指针拖动

iframeWin.scroll(scrollX + posX - e.clientX, scrollY + posY - e.clientY);

一个应用例子如下

test.html

<body>

  <iframe src="a.html" width="500" height="500" scrolling="no" id="test" frameborder="0" marginheight="0" marginwidth="0"></iframe>

  <script>

    window.onload = function(){

        var iframe = document.getElementById("test");

        var iframeWin = iframe.contentWindow;

        var iframedoc = iframeWin.document;

        var posX = 0;

        var posY = 0;

        var scrollX = 0;

        var scrollY = 0;

        iframedoc.onmousedown = function(e){

        posX = e.clientX;

        posY = e.clientY;

        scrollX = iframeWin.scrollX;

        scrollY = iframeWin.scrollY;

        iframedoc.onmousemove = function(e){

        iframeWin.scroll(scrollX + posX - e.clientX, scrollY + posY - e.clientY);

        };

        iframedoc.onmouseup = function(){

        iframedoc.onmousemove = null;

        };

        };

        };

  </script>

</body>

a.html

<body>

  <div style="width: 1200px; height: 1000px; background-color: green; padding: 0; margin: 0;">

  <div style="width: 400px; height: 400px; background-color: blue;"></div>

</div>

</body>

相关文章

  • 实现iframe内容页拖拽代替滚动条滚动

    需求:用iframe标签链接一个网页,iframe设置固定宽高,隐藏滚动条,当内容页宽高大于iframe宽高,拖动...

  • 自定义滚动条,滚轮事件

    1. 自定义滚动条 滚动条的原理就是一个限制范围的拖拽,在拖拽的同时,让滚动条对应的内容按照比例修改定位值。HTM...

  • JS开发之上拉加载更多

    需求说明:当用户浏览到页面底部时候,自动加载下一页的内容实现原理:JS获取当前滚动条高度、滚动条长度以及页面总长度...

  • IFrame Resizer

    在使用iframe时,经常遇到的问题是由于内容与iframe的尺寸不匹配,会产生多余的滚动条。处理这种问题常常需要...

  • 解决ios对iframe标签的兼容

    原因:ios嵌入的iframe页面,滚动条失效 解决:在iframe外层包裹一个div,然后将其设置为可滚动,if...

  • iframe在ios中兼容的问题

    iframe在iOS中显示异常的问题: 如果iframe的内容可以自适应,并且在没有内部滚动条的情况下重新改变大小...

  • 如何隐藏iframe的滚动条,但依然可以页面滚动

    今天遇到一个这样的问题:网页中如何隐藏iframe中的垂直滚动条,但依然可以用滚轮实现页面滚动???我就想先把if...

  • 移动端 实现ul横向滚动条

    移动端 实现ul横向滚动条 隐藏滚动条

  • 商品展示特效

    一、水平滚动条 和 垂直滚动条 1.1 核心技术点1)求滚动条的长度? 2)拖动滚动条,求内容要走多少?滚动条的长...

  • js特效-2

    一,水平滚动条和垂直滚动条 1.1技术点 1)求滚动条的长度 2)拖动滚动条,求内容要走多少 ~滚动条的长度取决于...

网友评论

      本文标题:实现iframe内容页拖拽代替滚动条滚动

      本文链接:https://www.haomeiwen.com/subject/wrugtftx.html