1、在遮罩层停止添加touchmove
2、如果d窗不在遮罩层内部,那么冒泡就不会经过遮罩层,也就无法屏蔽滑动了
3、如果实在不能把d窗放到遮罩层内,那么给d窗加一个单独的 .prevent 修饰符也可以,下面这两种方式都是有效的:
4、这种屏蔽方式只是屏蔽了滑动,对于PC端的鼠标滚轮是无效的,但屏蔽鼠标滚轮也很简单,把 touchmove 事件处理器改成 scroll 事件的处理器就好。
前端移动端开发,在页面中打开了一个层,同时打开一个遮罩层,滚动这个层时 下面的页面也会跟着滚动,禁止下面那个页面的滚动, 只滚动当前的层。
打开d层时body的touchmove事件addEventListener增加阻止默认行为的事件,关闭d层时removeEventListener;
阻止touchstart事件的默认行为,在vue下@touchstart.prevent,在d出层和底层元素之间曾加一层遮罩;
通过jquery的show()和hide()函数联合使用,实现d出窗口。
一、show()和hide()函数解析:
1、show() 方法显示隐藏的被选元素。
注意:show() 适用于通过 jQuery 方法和 CSS 中 display:none 隐藏的元素(不适用于通过 visibility:hidden 隐藏的元素)。
2、hide() 方法隐藏被选元素。
这与 CSS 属性 display:none 类似,但是隐藏的元素不会被完全显示(不再影响页面的布局)。
二、设计一个HTML页面,包括一个简单的d出窗,和一个显示按钮。其中,调用了jquery的以上两个函数。具体代码如下:
三、设计遮罩层的样式,如下:
四、d出窗口的css样式,代码如下:
五、初始页面如下:
六、点击按钮,查看d出窗口结果:
七、关闭d出窗后,打开开发者中心,如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)