`
du_bo
  • 浏览: 41306 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类

jquery mobile实现手机上的文字或者图片可以左右滑动

 
阅读更多

怎样用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();

 

 

});

分享到:
评论

相关推荐

    jquery mobile面板左右滑动

    5. **左右滑动手势**:虽然默认情况下,jQuery Mobile 面板可能不支持直接的手势滑动,但可以借助第三方库(如 Hammer.js)或者 jQuery Mobile 自身的 touchstart 和 touchmove 事件来实现左右滑动打开和关闭面板的...

    jquery mobile左右滑动效果

    标题提到的“jquery mobile左右滑动效果”是jQuery Mobile中一个重要的交互功能,主要用于增强用户在手机或平板设备上的浏览体验。下面将详细阐述这一功能及其实现原理。 首先,jQuery Mobile的核心在于其触摸事件...

    jQuerymobile 滑动选择时间

    10. **兼容性和集成**:jQuerymobile 滑动选择时间组件可以轻松地与其他 jQuery Mobile UI 组件结合使用,例如表单、对话框或面板,以构建完整的移动应用界面。 在实际项目中,通过下载并引用 jQuery Mobile 库以及...

    jQuery mobile滑动式的标题导航

    在这个“jQuery mobile滑动式的标题导航”主题中,我们将深入探讨如何利用jQuery Mobile创建动态且具有滑动效果的标题导航栏。 标题导航在任何应用程序中都扮演着关键角色,因为它帮助用户在页面间轻松导航。jQuery...

    jquery mobile仿苹果手机短信滑动删除特效

    在这个特定的案例中,我们关注的是一个特别的功能实现——"jquery mobile仿苹果手机短信滑动删除特效"。 苹果公司的iOS操作系统以其独特的用户交互体验著称,其中短信应用中的滑动删除功能就是一个典型的例子。当...

    jquery mobile固定底部左右滑动

    jquery mobile固定底部左右滑动

    jQuery 实现上下,左右滑动

    - 对于左右滑动,jQuery本身并不直接支持,但可以借助第三方插件,如`jQuery Mobile`或`Hammer.js`等实现。例如,`jQuery Mobile`中的`swipe`事件,可以通过监听这个事件来实现页面或元素的左右滑动效果。 - 另一...

    jQuery mobile图片放大技术

    本文将深入探讨如何利用 jQuery Mobile 实现图片放大技术,以提升用户体验,特别是针对移动设备上的图像查看。 一、jQuery Mobile 的基本概念 jQuery Mobile 是基于 jQuery 库的一个框架,专门用于构建响应式、触摸...

    jqueryMobile插件仿iPhone滑动出现删除按钮

    总的来说,通过利用jQuery Mobile提供的事件处理机制和自定义样式,我们可以轻松实现仿iPhone滑动出现删除按钮的交互,提升用户在移动设备上的操作体验。这是一个典型的移动Web开发实例,展示了如何将前端技术与设计...

    jquery mobile datepicker 手机端日期选择器

    《jQuery Mobile Datepicker:手机端日期选择器深度解析》 在移动应用开发中,日期选择器是一个不可或缺的组件,它提供了用户友好的界面,让用户能够方便地选择日期。jQuery Mobile Datepicker 是一个专为手机端...

    jQuery mobile新闻图片一样的显示图片

    在开发移动应用或者响应式网页时,经常需要实现一种效果:让新闻图片以类似新闻资讯APP的方式展示,这种效果在jQuery Mobile中可以轻松实现。jQuery Mobile是一个轻量级的、触控优化的JavaScript库,专为移动设备...

    jQueryMobile-HTML5模板

    1. **统一的触控体验**:jQuery Mobile提供了一套跨平台的触控事件处理机制,确保在各种设备上的滑动、点击等操作有统一的反馈。 2. **自动页面导航**:通过数据-URL(data-url)属性和页面容器,jQuery Mobile可以...

    jQuery mobile相册的一种样式

    3. **jQuery Mobile事件**:为了实现触屏交互,我们需要绑定jQuery Mobile的事件,如`tap`、`swipe`等。这样,当用户轻触或滑动屏幕时,相册可以做出相应的响应,例如切换图片。 4. **动画效果**:为了增强用户体验...

    jquery mobile web api 带下拉,上拉滑动分页滚动示例

    在本文中,我们将深入探讨如何使用jQuery Mobile和ASP.NET Web API2来构建一个具有下拉、上拉滑动分页滚动功能的Web应用。jQuery Mobile是一个强大的移动UI框架,它为移动设备提供了丰富的交互和触控优化的界面,而...

    JQuery实现图片滑动、切换

    总结来说,利用JQuery可以轻松实现图片滑动和切换效果,通过结合CSS样式和JQuery的事件处理、动画方法,可以创建出适应移动端和WEB端的动态效果。而更高级的功能,如Swiper插件,则提供了一整套解决方案,使开发更加...

    jQuery Mobile 所需要的部署文件

    jQuery Mobile 是一个轻量级的、基于 jQuery 库的框架,专为移动设备上的网页应用设计,它提供了丰富的用户界面(UI)组件和交互效果,让开发者能够快速构建响应式和触控友好的Web应用程序。这个资源包以“Hello ...

    jQuery Mobile图片轮转插件Camera1.3.4

    今天我们要探讨的是一个基于jQuery Mobile的图片轮转插件——Camera1.3.4,它专门用于实现手机上的图片轮换和播放功能。 Camera插件是针对HTML5和jQuery Mobile设计的,它充分利用了HTML5的新特性,如Canvas和Audio...

    jQuery mobile相册

    jQuery Mobile相册是一种基于jQuery Mobile框架的移动应用组件,它为用户提供了一种优雅的方式来展示和浏览图片集,尤其适用于移动设备。jQuery Mobile是jQuery库的一个分支,专为触摸设备优化,提供了一套完整的UI...

    jquery mobile图片轮播插件

    在这个特定的场景中,我们关注的是jQuery Mobile中的图片轮播插件,这是一种常见的用于展示多张图片并实现自动切换效果的组件。 在jQuery Mobile中,图片轮播通常通过数据属性和CSS样式来实现,这允许开发者灵活地...

Global site tag (gtag.js) - Google Analytics