一段PC端的JS代码,在移动端无效,麻烦大神帮忙改动下

_IronBear 2018-04-28 05:24:54
前端小白,这段代码网上找来的,改了改在PC端没问题,但是移动端不行,自己试着改了mousedown等的对应的移动端事件,改成touchstart之类的,但是还是不对,获取坐标那里应该还有问题,但是我实在不会改了,麻烦大神帮忙改下 谢谢了
function image_preview_TipBox(id){
var picsrc = $("#pic_"+id+"").attr('srcdef');
//信息框
// var picsrc = $("img[modal='zoomImg']").attr("src");


//给body添加弹出层的html
$("body").append("<div class=\"mask-layer\">" +
" <div class=\"mask-layer-black\"></div>" +
" <div class=\"mask-layer-container\">" +
" <div class=\"mask-layer-imgbox auto-img-center\"></div>" +
" </div>" +
"</div>"
);

var img_index = $("#pic_"+id+"").index(this);//获取点击的索引值
var num = img_index;

function showImg() {
$(".mask-layer-imgbox").append("<p><img src=\"\" alt=\"\"></p>");
$(".mask-layer-imgbox img").prop("src", picsrc); //给弹出框的Img赋值

//图片拖拽
var $div_img = $(".mask-layer-imgbox p");
//绑定鼠标左键按住事件
$div_img.bind("mousedown", function (event) {
event.preventDefault && event.preventDefault(); //去掉图片拖动响应
//获取需要拖动节点的坐标
var offset_x = $(this)[0].offsetLeft;//x坐标
var offset_y = $(this)[0].offsetTop;//y坐标
//获取当前鼠标的坐标
var mouse_x = event.pageX;
var mouse_y = event.pageY;
//绑定拖动事件
//由于拖动时,可能鼠标会移出元素,所以应该使用全局(document)元素
$(".mask-layer-imgbox").bind("mousemove", function (ev) {
// 计算鼠标移动了的位置
var _x = ev.pageX - mouse_x;
var _y = ev.pageY - mouse_y;
//设置移动后的元素坐标
var now_x = (offset_x + _x ) + "px";
var now_y = (offset_y + _y ) + "px";
//改变目标元素的位置
$div_img.css({
top: now_y,
left: now_x
});
});
});
//当鼠标左键松开,接触事件绑定
$(".mask-layer-imgbox").bind("mouseup", function () {
$(this).unbind("mousemove");
});

//关闭
$(".mask-close").click(function () {
$(".mask-layer").remove();
});
$(".mask-layer-black").click(function () {
$(".mask-layer").remove();
});
}
showImg();

}
...全文
1175 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2018-04-28
  • 打赏
  • 举报
回复
除了改事件名,还需要 event.pageX event.pageY 改成 event.originalEvent.touches[0].pageX event.originalEvent.touches[0].pageY

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧