尝试用Jquery制作弹出式移动菜单
Try to make popup menu by Jquery mobile
我想用这个代码做一个弹出式菜单:
$(document).mouseup(function (e) {
if(document.documentElement.clientWidth < 768 && $(".sider-inner").is(":visible")){
if (!$(".sider-inner").is(e.target) && $(".sider-inner").has(e.target).length == 0) {
$(".sider-inner, .main-wrapper").animate({'left':"-=220"}, 500, 'swing', function(){
$(".sider-inner").hide();
});
}
}
});
$(document).on("swiperight", function(){
if(document.documentElement.clientWidth < 768 && !$(".sider-inner").is(":visible")){
$(".sider-inner").show();
$(".sider-inner, .main-wrapper").animate({'left':"+=220"}, 500);
}
});
它可以在移动设备上工作,但在小宽度的桌面,菜单将在右滑后立即隐藏。我怎样才能解决这个问题?
好了,我自己解决了^^这是我的固定代码:
$(document).mousedown(function (e) {
if(document.documentElement.clientWidth < 768 && $(".sider-inner").is(":visible")){
pageX = e.pageX;
pageY = e.pageY;
}
});
$(document).mouseup(function (e) {
if(document.documentElement.clientWidth < 768 && $(".sider-inner").is(":visible")){
if (!$(".sider-inner").is(e.target) && $(".sider-inner").has(e.target).length == 0) {
if(e.pageX != pageX) return;
if(e.pageY != pageY) return;
$(".sider-inner, .main-wrapper").animate({'left':"-=220"}, 500, 'swing', function(){
$(".sider-inner").hide();
});
}
}
});
相关文章:
- 在元素悬停上显示带有javascript的弹出式网站
- Chrome扩展弹出式安装
- 普通(弹出式)Chrome 扩展程序与在开发者工具中添加标签页的扩展程序之间的区别
- 仅加载弹出式javascript
- Javascript弹出式Google Chrome扩展
- Javascript中的Mac/Windows弹出式虚拟键盘
- 弹出式浏览器兼容性
- 弹出式引导+棱角分明
- 弹出式视频播放器显示在Firefox中的奇数位置
- 打开弹出式html页面
- 弹出式签名不起作用
- Facebook 发送按钮 - 操作弹出式按钮
- 如何在 YII 中使用 ajaxvalidation 实现弹出式登录表单
- 在弹出式显示和隐藏上遇到样式问题
- 弹出式:每个会话和加载仅一次
- 后台代码在任何弹出式单击时运行
- 使用 Facebook PHP SDK 执行弹出式登录窗口
- Chrome 扩展程序:将网址动态添加到弹出式页面
- 无法将鼠标坐标从content_script传递到弹出式窗口(Chrome 扩展程序)
- 尝试用Jquery制作弹出式移动菜单