全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JS实现仿UC浏览器前进后退效果的实例代码

测试浏览器为谷歌浏览器(谷歌toggle device toolbar)

var startx, starty, endx, endy, moveX, moveY, seatX, seatY; 
var clickState = false; 
//获取输入框dom元素 
var text = document.forms[“form”]; 
//设置样式 
function setCss(obj) { 
var cssStr = “z-index:5;width:37px;height:37px;position:absolute;left:” 
+ seatX + ‘px;top:' + seatY + ‘px;'; 
//将样式添加到div上,显示div 
obj.style.cssText = cssStr;
}
//计算位置 
function setPosition(obj) { 
if (obj == ‘left') { 
seatX = text.offsetLeft - 37; //横坐标 
} else { 
seatX = text.offsetLeft + text.offsetWidth; //横坐标 
} 
seatY = (text.offsetTop + text.offsetHeight) / 2; //纵坐标 
} 
//创建DIV 
function createDiv(obj) { 
//首先创建div 
var descDiv = document.createElement(‘div'); 
document.body.appendChild(descDiv); 
//给div设置样式,比如大小、位置 
setPosition(obj); 
setCss(descDiv); 
descDiv.innerHTML = ”; 
descDiv.id = obj; 
descDiv.style.display = ‘block'; 
addElementImg(descDiv.id); 
} 
//添加IMG 
function addElementImg(obj) { 
var div = document.getElementById(obj); 
//添加 img 
var img = document.createElement(“img”); 
//设置 img 属性,如 id 
img.setAttribute(“id”, “newImg”); 
//设置 img 图片地址 
img.src = “/Themes/TheThemeMachine/Images/” + obj + “.png”; 
div.appendChild(img); 
} 
//删除DIV 
function removeDiv(obj) { 
var el = document.getElementById(obj); 
el.parentNode.removeChild(el); 
} 
//移动DIV 
function moveDiv(obj, movex) { 
if (Math.abs(movex) < 37) { 
var div = document.getElementById(obj); 
setPosition(obj); 
seatX = seatX + movex; 
setCss(div); 
} 
} 
//根据位移改变DIV的位置 
function reductionDiv(obj) { 
var div = document.getElementById(obj); 
setPosition(obj); 
setCss(div); 
} 
//计算移动坐标 
function calculationMoveCoordinate() { 
moveX = endx - startx; 
moveY = Math.abs(endy - starty); 
if (moveX > 0) 
moveDiv(“left”, moveX); 
else 
moveDiv(“right”, moveX); 
} 
//判断是否是PC端 
function IsPC() { 
var userAgentInfo = navigator.userAgent; 
var Agents = new Array(“Android”, “iPhone”, “SymbianOS”, “Windows Phone”, “iPad”, “iPod”); 
var flag = true; 
for (var v = 0; v < Agents.length; v++) { 
if (userAgentInfo.indexOf(Agents[v]) > 0) { flag = false; break; } 
} 
return flag; 
} 
//PC端鼠标按下 
function click() { 
clickState = true; 
startx = event.clientX; 
starty = event.clientY; 
} 
//PC端鼠标移动 
function pull() { 
if (1 == event.which) //判断左键是否按下 
{ 
endx = event.clientX; 
endy = event.clientY; 
calculationMoveCoordinate(); 
} 
} 
//PC端和移动端位移结束 
function stopClick() { 
if (Math.abs(moveX) > 37 && moveY < 20) { 
if (moveX < 0) { 
history.Go(1); 
} else { 
history.go(-1); 
} 
} else { 
reductionDiv(“left”); 
reductionDiv(“right”); 
} 
} 
////移动端注册事件 
document.addEventListener(‘touchmove', function (event) { 
event.preventDefault(); 
}, false); 
//touchstart事件 
function touchSatrtFunc(evt) { 
//evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等 
var touch = evt.touches[0]; //获取第一个触点 
startx = Number(touch.pageX); //页面触点X坐标 
starty = Number(touch.pageY); //页面触点Y坐标 
}
//touchmove事件,这个事件无法获取坐标 
function touchMoveFunc(evt) { 
//evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等 
var touch = evt.touches[0]; //获取第一个触点 
endx = Number(touch.pageX); //页面触点X坐标 
endy = Number(touch.pageY); //页面触点Y坐标 
calculationMoveCoordinate(); 
}
//touchend事件 
function touchEndFunc(evt) { 
//evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等 
stopClick(); 
}
//加载 
if (IsPC()) { 
document.onmousedown = click; 
document.onmousemove = pull; 
document.onmouseup = stopClick; 
} else { 
document.addEventListener(‘touchstart', touchSatrtFunc, false); 
document.addEventListener(‘touchmove', touchMoveFunc, false); 
document.addEventListener(‘touchend', touchEndFunc, false); 
} 
createDiv(‘left'); 
createDiv(‘right');

以上所述是小编给大家介绍的JS实现仿UC浏览器前进后退效果的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# js  # 浏览器前进后退效果  # JavaScript不刷新实现浏览器的前进后退功能  # javascript history对象(历史记录)使用方法(实现浏览器前进后退)  # 第一个  # 鼠标  # 滚动条  # 按下  # 小编  # 在此  # 给大家  # 左键  # 所述  # 给我留言  # 感谢大家  # 输入框  # 判断是否  # 疑问请  # 有任何  # 加载  # offsetLeft  # setPosition  # src  # offsetTop 


相关文章: 建站之星后台密码如何安全设置与找回?  建站之星后台密码遗忘或太弱?如何重置与强化?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  网站制作的步骤包括,正确网址格式怎么写?  如何在景安云服务器上绑定域名并配置虚拟主机?  如何选择PHP开源工具快速搭建网站?  如何在Windows环境下新建FTP站点并设置权限?  如何在局域网内绑定自建网站域名?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  视频网站制作教程,怎么样制作优酷网的小视频?  建站中国官网:模板定制+SEO优化+建站流程一站式指南  建站之星如何实现网站加密操作?  创业网站制作流程,创业网站可靠吗?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  建站之星如何配置系统实现高效建站?  Swift中switch语句区间和元组模式匹配  家庭建站与云服务器建站,如何选择更优?  自助网站制作软件,个人如何自助建网站?  如何在腾讯云免费申请建站?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  网站制作服务平台,有什么网站可以发布本地服务信息?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  php json中文编码为null的解决办法  如何获取开源自助建站系统免费下载链接?  如何选择高效响应式自助建站源码系统?  电商网站制作价格怎么算,网上拍卖流程以及规则?  如何通过智能用户系统一键生成高效建站方案?  定制建站如何定义?其核心优势是什么?  如何自定义建站之星模板颜色并下载新样式?  内部网站制作流程,如何建立公司内部网站?  如何设计高效校园网站?  制作农业网站的软件,比较好的农业网站推荐一下?  营销式网站制作方案,销售哪个网站招聘效果最好?  北京网站制作网页,网站升级改版需要多久?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  建站VPS配置与SEO优化指南:关键词排名提升策略  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  建站之星后台密码遗忘如何找回?  c# 在高并发下使用反射发射(Reflection.Emit)的性能  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  如何通过可视化优化提升建站效果?  学校建站服务器如何选型才能满足性能需求?  如何在万网自助建站平台快速创建网站?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  如何在阿里云完成域名注册与建站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。