2016-08-30 65 views
2

HTML5中不支持滾動屬性。 我有一個div內的iframe中的svg,如何使用div內的滾動並停止頁面滾動與HML 5同時?html 5:當鼠標移過div時停止父級滾動

我試圖解決方案,如

mouseWheelEvent.cancelBubble = true; 

$('#svgDiv').bind('mousewheel DOMMouseScroll', function(e) { 
    var scrollTo = null; 

    if (e.type == 'mousewheel') { 
     scrollTo = (e.originalEvent.wheelDelta * -1); 
    } 
    else if (e.type == 'DOMMouseScroll') { 
     scrollTo = 40 * e.originalEvent.detail; 
    } 

    if (scrollTo) { 
     e.preventDefault(); 
     $(this).scrollTop(scrollTo + $(this).scrollTop()); 
    } 
}); 

但沒有任何工程。請幫忙。

回答

0

我認爲,行爲可以使用CSS來完成。這個想法是保持父項小於子項,並賦予它樣式溢出:滾動。

您可以使用垂直滾動屬性overflow-y和水平滾動overflow-x指定滾動方向。

.child{ 
 

 
    background: goldenrod; 
 
} 
 

 
.parent{ 
 
    overflow-y: scroll; 
 
    width: 220px; 
 
    height: 200px; 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
    <head> 
 
    <link rel="stylesheet" href="style.css"> 
 
    <script src="script.js"></script> 
 
    </head> 
 

 
    <body> 
 
    <div class="parent"> 
 
     <div class="child"> 
 
     Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut vitae orci in libero iaculis bibendum vel at velit. Etiam ornare ex urna, quis tristique dui finibus a. Suspendisse potenti. Aliquam scelerisque nibh ipsum, vestibulum suscipit purus eleifend a. Phasellus dictum venenatis velit, ac ultrices tellus finibus et. Cras elit nulla, facilisis non imperdiet et, rhoncus volutpat nisl. Donec id magna elementum ex cursus mollis. 
 

 
Nullam facilisis non nibh ut pharetra. Aenean et maximus nulla. Curabitur dignissim nunc in arcu porta, et imperdiet sem maximus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus fermentum rhoncus sem eget pharetra. Nulla augue ipsum, condimentum et orci sit amet, ultricies dictum nunc. Donec porta lacus at tristique vestibulum. Cras et nibh enim. Mauris sagittis risus et orci tristique, vitae laoreet ante efficitur. Cras ut lectus orci. Mauris blandit, neque eu convallis lobortis, nisi est viverra sapien, et maximus lectus nisi ut quam. Ut eget accumsan elit. Nulla odio urna, tempus id leo sed, dictum facilisis dolor. 
 

 
Cras aliquam massa vitae venenatis facilisis. In nec leo at dolor tincidunt sollicitudin eu tempor tortor. Proin lectus lorem, consectetur non ipsum vel, accumsan iaculis mauris. Aenean neque elit, ullamcorper quis aliquet id, tempor ut turpis. Aenean tortor ligula, congue et elit non, consequat accumsan nulla. Mauris eros mi, varius sit amet facilisis non, molestie a lacus. Nam at risus nisl. Morbi nunc turpis, pulvinar quis tortor eu, fermentum vulputate tellus. Pellentesque consectetur efficitur diam non interdum. Sed suscipit ligula sed turpis gravida, semper aliquam elit semper. 
 

 
In magna ex, lacinia sed semper id, rutrum at turpis. Phasellus metus urna, aliquam ac euismod ut, varius vitae eros. Phasellus laoreet velit dolor, vitae volutpat nisl lobortis eu. Quisque id venenatis ante. Duis placerat eu risus non fringilla. Duis eu orci a felis lobortis venenatis at in mauris. Maecenas nulla lorem, laoreet nec massa ac, venenatis egestas magna. 
 
     </div> 
 
    </div> 
 
    </body> 
 

 
</html>

我已經做了plunker你的問題,我希望這將幫助你。祝你好運

+0

感謝您的幫助@Syam我很新的stackoverflow –

相關問題