简体   繁体   English

复选框以启用/禁用div内容滚动

[英]Checkbox to enable/disable scroll of the div content

I have a div to which I append a content via jquery - it's working fine. 我有一个div,我可以通过jquery向其附加内容-工作正常。

To div I added a css: 为了div我添加了一个CSS:

#data {
  height: 700px;
  position: absolute;
  left: 0;
  right: 0;
  overflow-y: auto;
  vertical-align: bottom;
  padding-left: 10px;
  margin-bottom: 110px;
  font-family: 'Open Sans', sans-serif;
  color: black;
}

and the content of div is scolling to the bottom. 并且div的内容在底部。 Now I'd like to add a checkbox - if checked then scoll the div and stop scrolling if it is unchecked. 现在,我想添加一个复选框-如果选中,则对div进行排序,如果未选中,则停止滚动。

I've tried to remove overflow-y from css and of course it doesn't work. 我试图从css中删除溢出-y,但是当然不起作用。

Any idea how I can resolve it ? 知道我该如何解决吗?

To achieve this you can set the overflow property to hidden when you want to stop the scroll behaviour: 为此,可以在要停止滚动行为时将overflow属性设置为hidden

 $(':checkbox').change(function() { $('div').toggleClass('no-scroll', !this.checked); }).change(); 
 div { width: 100px; height: 100px; overflow-y: scroll; } div.no-scroll { overflow-y: hidden; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div> lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. lorem ipsum dolor sit amet consectetur adipscing elit. </div> <label> <input type="checkbox"> Allow scrolling? </label> 

$('#checkbox').on('change', function() {
 if(this.checked){
 //do the scroll
 }else{
 //undo the scroll
 }
});

you can use this to detect check/uncheck and do your required stuff 您可以使用它来检测选中/取消选中并执行所需的操作

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM