怎样用jquery mobile实现手机上的文字或者图片可以左右滑动?
第一种:
首先左右滑动如何实现:比如这个块区域是
<div id="move"></div>
那么对该div进行监听触摸屏事件:
<script>
var x_m_d =null;
var x_m_u = null;
var m_d=false;
document.getElementById("move").addEventListener('touchstart',m_down, false);
document.getElementById("move").addEventListener('touchmove',m_up, false);
function m_down(e){
x_m_d = e.touches.pageX;
m_d=true;
}
function m_up(e){
x_m_u = e.touches.pageX;
if(m_d){
if(x_m_u - x_m_d > 50)
right();//调用右划方法
if(x_m_u - x_m_d < -50)
left();//调用左划方法
}
}
</script>
那么如何让div进行移动呢,设置div的style样式,position:absolute;
当调用right()或left()方法时,去改变此div的left值即可
<div id="move" style="position:absolute;left:0px;top:0px"></div>
注:JM实现的是整屏滑动,一个屏幕的页面在JM中就是一个div,局部滑动不好实现。
第二种:
$(".J-page").each(
function(index) {
var num = index + 1;
var numR = num - 1;
var numL = num + 1;
var numIndex = $(this).find(".picIndex").val();
var pageIndex = $(this).find(".pageIndex").val();
// 绑定手指从手机从左往右滑(等同左点击)()
$("#p" + num).bind('swiperight', function() {
// alert("num"+num);
// alert("numR"+numR);
// alert("numL"+numL);
var move = true;
// 不显示箭头翻页 和 介绍层
showHide();
picModel = 1;
// ("numIndex"+numIndex);
// alert("currentIndex"+currentIndex);
if (pageIndex == 1) {
// alert("1");
move = false;
}
if (currentIndex == 1 && firstin == 0) {
// alert("2");
move = false;
}
// alert(move);
// 翻页滑动效果
if (move == false) {
return true;
} else {
firstin = 1;
// alert(numR);
if (numR == 0 || numIndex == 1) {
$.mobile.changePage("#p" + pageNum, {
transition : "slide",
reverse : true
}, false);
} else {
$.mobile.changePage("#p" + numR, {
transition : "slide",
reverse : true
}, false);
}
// }
;
}
})
// 绑定手指从手机从右往左滑(等同右点击)
.bind('swipeleft', function() {
var move = true;
// 不显示箭头翻页 和 介绍层
showHide();
picModel = 1;
if (pageIndex == pageNum) {
// alert(1);
$(this).find(".J-right").addClass("again");
hideShow();
move = false;
}
if (currentIndex == pageNum && firstin == 0) {
// alert(2);
move = false;
}
// alert("numIndex"+numIndex);
// alert("move"+move);
// 翻页滑动效果
if (move == false) {
return true;
} else {
firstin = 1;
// alert("numL"+numL);
// alert("numIndex"+numIndex);
// alert("pageNum"+pageNum);
// alert("numIndex"+numIndex);
if (numL == pageNum + 1 || numIndex == pageNum) {
$.mobile.changePage("#p1", {
transition : "slide",
reverse : false
}, true);
} else {
$.mobile.changePage("#p" + numL, {
transition : "slide",
reverse : false
}, true);
}
// }
}
// 翻页到最后一张时改变样式/显示描述
if (pageIndex == pageNum - 1) {
// alert($(this).siblings().last().html());
$(this).next().find(".J-right").addClass("again");
hideShow();
return true;
}
});
// 绑定点击左翻页
$(this).find(".J-left").click(function() {
firstin = 1;
// 显示箭头翻页 和 介绍层
hideShow();
// 判断是否第一页和最后一页 第一页不可左翻左点 最后一页 again
// pageUp();
if (num == 1) {
$.mobile.changePage("#p" + pageNum, {
transition : "slide",
reverse : true
}, false);
} else {
$.mobile.changePage("#p" + numR, {
transition : "slide",
reverse : true
}, false);
}
;
})
// 绑定点击右翻页
$(this).find(".J-right").click(function() {
firstin = 1;
// alert(num)
// 显示箭头翻页 和 介绍层
hideShow();
// alert("2");
$.mobile.changePage("#p" + num, {
transition : "slide"
}, true);
if (num == pageNum) {
$.mobile.changePage("#p1", {
transition : "slide"
}, true);
} else {
$.mobile.changePage("#p" + numL, {
transition : "slide"
}, true);
}
;
})
// 绑定触碰屏幕显示隐藏层
$(this).find(".pic_layer").bind(
'tap',
function() {
if ($(".bg").is(":visible")) {
$(this).parent().parent().parent().parent()
.find(".bg").slideUp("fast");
$(this).parent().parent().parent().parent()
.find(".J-header").slideUp("fast");
$(this).parent().parent().parent().parent()
.find(".J-left").hide();
$(this).parent().parent().parent().parent()
.find(".J-right").hide();
picModel = 1;
} else {
$(this).parent().parent().parent().parent()
.find(".bg").slideDown("fast");
$(this).parent().parent().parent().parent()
.find(".J-header").slideDown("fast");
$(this).parent().parent().parent().parent()
.find(".J-left").show();
$(this).parent().parent().parent().parent()
.find(".J-right").show();
picModel = 0;
}
})
});// each end
其他相关的一些附带效果:
var picModel = 1; // 0 全选模式;1 只展示图片
var indexPic = 1;
var currentIndex = $("#currentIndex").val();
var surH;
setAndroidForClass("picd");
function orient() {
if (window.orientation == 90 || window.orientation == -90) {
// ipad、iphone横屏;Andriod横屏
if (isAndroid()) {
surH = $(window).width();
$(".J-page").css("max-height","100%");
} else {
surH = window.screen.width - 52;
}
return false;
} else if (window.orientation == 0 || window.orientation == 180) {
// ipad、iphone竖屏;Andriod竖屏
if (isAndroid()) {
surH = window.screen.width;
$(".J-page").css("max-height","100%");
} else {
surH = window.screen.height - 60;
}
return false;
} else {
surH = $(window).height();
return false;
}
}
//图片在各种分辨率下未知的容器内上下左右居中
function picAuto() {
// var surH = window.screen.height-60;
// var surH = $(window).height();
// alert(surH);
var arrowsLt = (surH - 120) / 2;
$(".pic_conent").height(surH);
$(".J-left").css("top", arrowsLt);
$(".J-right").css("top", arrowsLt);
$(".J-page").css("max-height",surH);
// window.scrollTo(0, 1);
}
// 用户变化屏幕方向时调用
$(window).bind('orientationchange', function(e) {
orient();
picAuto();
});
相关推荐
5. **左右滑动手势**:虽然默认情况下,jQuery Mobile 面板可能不支持直接的手势滑动,但可以借助第三方库(如 Hammer.js)或者 jQuery Mobile 自身的 touchstart 和 touchmove 事件来实现左右滑动打开和关闭面板的...
标题提到的“jquery mobile左右滑动效果”是jQuery Mobile中一个重要的交互功能,主要用于增强用户在手机或平板设备上的浏览体验。下面将详细阐述这一功能及其实现原理。 首先,jQuery Mobile的核心在于其触摸事件...
10. **兼容性和集成**:jQuerymobile 滑动选择时间组件可以轻松地与其他 jQuery Mobile UI 组件结合使用,例如表单、对话框或面板,以构建完整的移动应用界面。 在实际项目中,通过下载并引用 jQuery Mobile 库以及...
在这个“jQuery mobile滑动式的标题导航”主题中,我们将深入探讨如何利用jQuery Mobile创建动态且具有滑动效果的标题导航栏。 标题导航在任何应用程序中都扮演着关键角色,因为它帮助用户在页面间轻松导航。jQuery...
在这个特定的案例中,我们关注的是一个特别的功能实现——"jquery mobile仿苹果手机短信滑动删除特效"。 苹果公司的iOS操作系统以其独特的用户交互体验著称,其中短信应用中的滑动删除功能就是一个典型的例子。当...
jquery mobile固定底部左右滑动
- 对于左右滑动,jQuery本身并不直接支持,但可以借助第三方插件,如`jQuery Mobile`或`Hammer.js`等实现。例如,`jQuery Mobile`中的`swipe`事件,可以通过监听这个事件来实现页面或元素的左右滑动效果。 - 另一...
本文将深入探讨如何利用 jQuery Mobile 实现图片放大技术,以提升用户体验,特别是针对移动设备上的图像查看。 一、jQuery Mobile 的基本概念 jQuery Mobile 是基于 jQuery 库的一个框架,专门用于构建响应式、触摸...
总的来说,通过利用jQuery Mobile提供的事件处理机制和自定义样式,我们可以轻松实现仿iPhone滑动出现删除按钮的交互,提升用户在移动设备上的操作体验。这是一个典型的移动Web开发实例,展示了如何将前端技术与设计...
《jQuery Mobile Datepicker:手机端日期选择器深度解析》 在移动应用开发中,日期选择器是一个不可或缺的组件,它提供了用户友好的界面,让用户能够方便地选择日期。jQuery Mobile Datepicker 是一个专为手机端...
在开发移动应用或者响应式网页时,经常需要实现一种效果:让新闻图片以类似新闻资讯APP的方式展示,这种效果在jQuery Mobile中可以轻松实现。jQuery Mobile是一个轻量级的、触控优化的JavaScript库,专为移动设备...
1. **统一的触控体验**:jQuery Mobile提供了一套跨平台的触控事件处理机制,确保在各种设备上的滑动、点击等操作有统一的反馈。 2. **自动页面导航**:通过数据-URL(data-url)属性和页面容器,jQuery Mobile可以...
3. **jQuery Mobile事件**:为了实现触屏交互,我们需要绑定jQuery Mobile的事件,如`tap`、`swipe`等。这样,当用户轻触或滑动屏幕时,相册可以做出相应的响应,例如切换图片。 4. **动画效果**:为了增强用户体验...
在本文中,我们将深入探讨如何使用jQuery Mobile和ASP.NET Web API2来构建一个具有下拉、上拉滑动分页滚动功能的Web应用。jQuery Mobile是一个强大的移动UI框架,它为移动设备提供了丰富的交互和触控优化的界面,而...
总结来说,利用JQuery可以轻松实现图片滑动和切换效果,通过结合CSS样式和JQuery的事件处理、动画方法,可以创建出适应移动端和WEB端的动态效果。而更高级的功能,如Swiper插件,则提供了一整套解决方案,使开发更加...
jQuery Mobile 是一个轻量级的、基于 jQuery 库的框架,专为移动设备上的网页应用设计,它提供了丰富的用户界面(UI)组件和交互效果,让开发者能够快速构建响应式和触控友好的Web应用程序。这个资源包以“Hello ...
今天我们要探讨的是一个基于jQuery Mobile的图片轮转插件——Camera1.3.4,它专门用于实现手机上的图片轮换和播放功能。 Camera插件是针对HTML5和jQuery Mobile设计的,它充分利用了HTML5的新特性,如Canvas和Audio...
jQuery Mobile相册是一种基于jQuery Mobile框架的移动应用组件,它为用户提供了一种优雅的方式来展示和浏览图片集,尤其适用于移动设备。jQuery Mobile是jQuery库的一个分支,专为触摸设备优化,提供了一套完整的UI...
在这个特定的场景中,我们关注的是jQuery Mobile中的图片轮播插件,这是一种常见的用于展示多张图片并实现自动切换效果的组件。 在jQuery Mobile中,图片轮播通常通过数据属性和CSS样式来实现,这允许开发者灵活地...