2016-08-30 79 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 –

相关问题