2014-10-19 50 views
1

也許你可以做一個JavaScript滾動事件的滾動iframe?儘管我並不擅長JavaScript。即使光標沒有懸停它,也無法滾動iframe?

我發現這一點,但我仍然不知道如何定位的iframe,並滾動它: Get mouse wheel events in jQuery?

+0

iframe是否在同一個原點上? Origin = scheme/host/port,所以'https:// example.com'只能控制'https:// example.com'上的iframe。 – Rudie 2014-10-19 02:15:00

+0

是的。 (((( – 2014-10-19 02:16:35

+0

)然後你可以用JS在頂部文檔中捕捉鼠標滾輪事件並更改框架文檔中的滾動偏移但是我要睡覺Goodluck – Rudie 2014-10-19 02:18:12

回答

0

給你:http://jsfiddle.net/dsmeuzL5/

HTML:

<iframe id="myframe" src="//www.yourpage.com"></iframe> 

JS: var iframe = document.getElementById('myframe');

var MouseWheelHandler = function (e) { 
    // cross-browser wheel delta 
    var e = window.event || e; // old IE support 
    var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail))); 
    console.log(delta); 
    var doc = iframe.contentDocument ? iframe.contentDocument : (iframe.contentWindow ? iframe.contentWindow.document : iframe.document); 
    doc.body.scrollTop = doc.body.scrollTop - (delta * 30); 

    return false; 
} 


if (window.addEventListener) { 
    // IE9, Chrome, Safari, Opera 
    window.addEventListener("mousewheel", MouseWheelHandler, false); 
    // Firefox 
    window.addEventListener("DOMMouseScroll", MouseWheelHandler, false); 
} 
// IE 6/7/8 
else window.attachEvent("onmousewheel", MouseWheelHandler); 
+0

非常好,謝謝你 – 2014-10-19 04:32:25

+0

只需閱讀代碼所以下一次你可以自己做:) – GramThanos 2014-10-19 04:36:24

+0

我的鼠標滾動每個滾動100px。你的只有30.有同步方法嗎?正常的滾動速度會很棒。 – Rudie 2014-10-26 14:48:23

相關問題