导航:首页 > APP软件 > js仿微信图片浏览

js仿微信图片浏览

发布时间:2022-12-15 05:04:07

1. js判断是否是微信浏览器方法总结

if(navigator.userAgent.indexOf("MicroMessenger")>-1){
alert("这是微信内置浏览器");
}else{
alert("这不是微信内置浏览器");
}

2. 用HTML5做一个类似于微信联系人的一个demo,遇到一点问题

touchMove 要结合使用touchstar,touchend进行判断的。
没有做过类似的东西,但是下面的是仿微信图片浏览的代码,写了注释,希望对你有点帮助!
<script>

function imgreset(){
$(this).css3Animate({
width: imgoldw+"px",
//x:0,
//y:0,
time: "0ms",
callback: function () {
pagex1_s=null;pagey1_s=null;pagex2_s=null;pagey2_s=null;pagex1_e=null;pagey1_e=null;
pagex2_e=null;pagey2_e=null;pagexm1_s=null;pageym1_s=null;pagexm1_e=null;pageym1_e=null;
dm=0;dn=0;
imgneww=imgoldw
}
});
}
var imgoldw=320;//获取图片寛度
var imglength=$(".imgbox").length;//获取图片个数
var demos = document.getElementById("container"),
spirit, startScale, startRotation;
var dm=0,dn=0,imgneww=imgoldw,ismove=false,pic_c=0;
var body_w=$("body").width();
var body_h=$("body").height();
var pagex1_s,pagey1_s,pagex2_s,pagey2_s,pagex1_e,pagey1_e,pagex2_e,pagey2_e,pagexm1_s,pageym1_s,pagexm1_e,pageym1_e;
function touchStart(e) {
//e.stopPropagation();
e.preventDefault();
if(e.touches.length == 1){
ismove=true;
var touch1 = e.touches[0];
pagexm1_s = touch1.pageX;
pageym1_s = touch1.pageY;

}
if (e.touches.length == 2){

var touch1 = e.touches[0];
pagex1_s = touch1.pageX;
pagey1_s = touch1.pageY;
var touch2 = e.touches[1];
pagex2_s = touch2.pageX;
pagey2_s = touch2.pageY;
left = Math.min(pagex1_s, pagex2_s),
top = Math.min(pagey1_s, pagey2_s),
width = Math.abs(pagex1_s - pagex2_s),
height = Math.abs(pagey1_s - pagey2_s);
}

}
function touchMove(e){
//e.stopPropagation();
e.preventDefault();
if (ismove&&e.touches.length == 1){
//单点触摸

var touch1 = e.touches[0],
pagexm1_e = touch1.pageX,
pageym1_e = touch1.pageY,

//移动了多少
dx=pagexm1_e-pagexm1_s,
dy=pageym1_e-pageym1_s;
//是多少
dm=dx+dm;
dn=dy+dn;

if(imgneww==imgoldw){

$(this).css3Animate({
x:dm,
//y:dn,
time: "0ms",
callback: function () {
}
});

//如果图未放大,则执行翻页
}else{
//如果图片已经被放大,则可以拖动
$(this).css3Animate({
x:dm,
y:dn,
time: "0ms",
callback: function () {
//记录新位置
}
});
}
pagexm1_s=pagexm1_e,pageym1_s=pageym1_e;
}
if (e.touches.length == 2){
//多点触摸
var touch1 = e.touches[0];
pagex1_e = touch1.pageX;
pagey1_e = touch1.pageY;
var touch2 = e.touches[1];
pagex2_e = touch2.pageX;
pagey2_e = touch2.pageY;
//计算两点开始距离 old
var oldx=Math.abs(pagex1_s-pagex2_s),
oldy=Math.abs(pagey1_s-pagey2_s),
//计算两点开始距离 new
newx=Math.abs(pagex1_e-pagex2_e),
newy=Math.abs(pagey1_e-pagey2_e);

if(oldx>newx&&oldy>newy){
var imgw=$(this).width();//获取图片寛度
resizex=oldx-newx;//缩小多少
var resizey=oldy-newy;//缩小多少
if(imgw>imgoldw){
$(this).css3Animate({
width: imgneww-resizex+"px",
x:dm,
y:dn,
time: "0ms",
callback: function () {
}
});
imgneww=imgneww-resizex;
};
}else{

var imgw=$(this).width();//获取图片寛度
var resizex=Math.abs(oldx-newx);
var resizey=Math.abs(oldy-newy);//缩小多少
if(imgw<640){
$(this).css3Animate({
width: imgneww+resizex+"px",
x:dm,
y:dn,
time: "0ms",
callback: function () {
}
});
imgneww=imgneww+resizex;
}
}
}

pagex1_s=pagex1_e,pagey1_s=pagey1_e,pagex2_s=pagex2_e,pagey2_s=pagey2_e;

}

function touchEnd(e) {
e.preventDefault();
var imglength=$(".imgbox").length;
var id=parseInt($(this).attr("id").substr(9));
if(ismove&&imgneww==imgoldw&&dm<0&&Math.abs(dm)>body_w/2&&id!=imglength-1){

$.ui.loadDiv('#my_photos_'+(id+1),false,false,'flip');
$(this).css3Animate({
x:0,
time: "0ms",
callback: function () {
dm=0;
}
});

}else if(ismove&&imgneww==imgoldw&&dm>0&&Math.abs(dm)>body_w/2&&id!=0){
$.ui.loadDiv('#my_photos_'+(id-1),false,false,'flip');
$(this).css3Animate({
x:0,
time: "0ms",
callback: function () {
dm=0;
}
});
}else{
if(ismove&&imgneww==imgoldw){

$(this).css3Animate({
x:0,
time: "0ms",
callback: function () {
dm=0;
}
});
}

}
ismove=false;

}

function gestureEnd(e) {
e.preventDefault();
if (!spirit) return;
canvas.removeChild(spirit);
spirit = null;
startScale = null;
startRotation = null;
}
/* $(".imgbox img").bind("touchstart", touchStart, false);
$(".imgbox img").bind("touchmove", touchMove, false);
$(".imgbox img").bind("touchend", touchEnd, false);
$(".imgbox img").bind("gestureend", gestureEnd, false);
$(".imgbox img").bind("tap", imgreset, false);
*/
</script>

3. 在微信中打开的网页里的js怎么能正常执行

正常执行具体如下:

  1. 以下是一段示例代码,注释中表明了通过JS如何判断是否在微信浏览器打开,是否在QQ空间浏览器,是否在新浪微博打开。当然可以做得更完善一点,再加上判断是在移动设备打开还是在PC端浏览器打开的,更加细分一点,可以判断是在安卓系统的浏览器打开的还是IOS系统浏览器打开的。

4. 前端框架实战:使用Vue.js实现微信界面

微信(wechat)是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序,微信支持跨通信运营商、跨操作系统平台通过网络快速发送免费(需消耗少量网络流量)语音短信、视频、图片和文字,同时,也可以使用通过共享流媒体内容的资料和基于位置的社交插件“摇一摇”、“漂流瓶”、“朋友圈”、”公众平台“、”语音记事本“等服务插件。

截止目前为止,微信的活跃用户已超九亿,成为现在人们日常生活中必不可缺的通讯工具

而Vue.js是前端开发中一套构建用户界面(user interface)的渐进式框架。Vue 从根本上采用最小成本、渐进增量(incrementally adoptable)的设计。Vue 的核心库只专注于视图层,并且很容易与其他第三方库或现有项目集成。

今天,Hope老师就带大家使用Vue.js实现微信界面!

Hope:5年H5开发经验,擅长webApp,混合开发,项目管理。目前任职于某大数据公司,负责前端平台架构和混合开发。

《 前端实战:Vue.js实现微信界面 》

预习资料
源码

直播时间:2017年8月6日(周日)晚上8点

加 Q 群(613796295),加群暗号:「vue仿微信界面-」。已经在群里的同学关注上课通知就可以哦~

5. iOS Swift 仿微信朋友圈实现图片点击放大查看

效果图:

scrollView 具有放大缩小的功能,实现图片的放大与缩小的思路就是将imageView放在scrollView上,双击时调用scrollView的

来实现imageView的放大与缩小
Demo地址

1.两个初始化方法

在初始化方法中初始化backScrollView 和承载imageView的scrollView,并给imageView和scrollView添加点击手势
2.承载imageView的scrollView设置代理方法

3.图片的点击放大手势

4.出现时的动画

5.消失时的动画

6.调用

Demo地址

6. 用JS和html怎么做出一个简单的聊天窗口(类似微信)

单纯js和html无法实现通讯,需要搭建后台服务与前端WebSocket比较容易实现。

7. 在微信内置浏览器里,为什么有的图片能双击打开,有的图片则不行

双击可以打开的是调用了微信的内置图片浏览器,比如在微信推送的图文中。如果是自己开发的网页如果不使用js调用微信内置图片浏览器的话是无法双击打开查看的。

阅读全文

与js仿微信图片浏览相关的资料

热点内容
wap端微信分享插件 浏览:970
压缩文件的格式不包括 浏览:867
iphone6s彩信怎么设置 浏览:245
公共政策文件内容 浏览:445
win10组件服务修复 浏览:358
linux换行符写文件 浏览:494
jquery查找json 浏览:440
测dna的纯度应该读取哪个数据 浏览:245
怎么验证在qq里边搜的人是真人 浏览:404
erp系统需要什么编程 浏览:916
程序员用语 浏览:177
招标文件研读报告包括内容 浏览:862
系统软件处理数据有哪些好处 浏览:706
flash数据库动态开发专业教程下载 浏览:874
u盘文件被锁怎么消除 浏览:39
前三季度gdp数据广东什么时候公布 浏览:726
ug导出stp文件后显示 浏览:262
struts2文件上传例子 浏览:480
智能粉碎文件名 浏览:625
编程是干什么的适合几岁儿童上 浏览:412

友情链接