在jquery mobile或javascript中放大和缩小功能

时间:2013-07-03 05:17:31

标签: javascript jquery jquery-mobile

使用jQuery mobile在页面中放大和缩小功能有什么好方法吗?我瞪着它,找到了

window.parent.document.body.style.zoom = 1.5;

在jQuery mobile中有没有更好的放大和缩小功能的方法?

4 个答案:

答案 0 :(得分:3)

以下是一个示例解决方法,DEMO http://jsfiddle.net/yeyene/aGuLE/

$(document).ready(function () {
    $('#zoomIn').on('click', function () {
        zoomIn(1.2);
    });
    $('#zoomOut').on('click', function () {
        zoomOut();
    });
});

function zoomIn(zoomLev) {
    if (zoomLev > 1) {
        if (typeof (document.body.style.zoom) != "undefined") {
            $(document.body).css('zoom', zoomLev);
        }else {
            // Mozilla doesn't support zoom, use -moz-transform to scale and compensate for lost width
            $('#divWrap').css({
                "-moz-transform": 'scale(" + zoomLev + ")',
                width: $(window).width() / zoomLev
            });
        }
    }
}

function zoomOut() {
    $(document.body).css({
        zoom : '',
        position : '',
        left: "",
        top: "",
        "-moz-transform" : "",
        width : ''  
    });
}

答案 1 :(得分:0)

看到这个链接是我见过的最好的: - http://jaukia.github.io/zoomooz/

如果您喜欢手动放大缩小,请执行以下操作: - http://jsfiddle.net/videsignz/KGY7c/

var imagesize = $('img').width();

$('.zoomout').on('click', function(){
    imagesize = imagesize - 5;
    $('img').width(imagesize);
});

$('.zoomin').on('click', function(){
    imagesize = imagesize + 5;
    $('img').width(imagesize);
});

答案 2 :(得分:0)

如果您使用的是Jquery移动版,则需要检查文件<head>中的元数据

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />

如果您的视口元数据中定义了content="user-scalable=no,这将阻止您缩放或放大和缩小

答案 3 :(得分:0)

试试这个。你必须已经在某个地方有一个元视口。

var viewportmeta=$("meta[name='viewport']"); //find a viewport meta

viewportmeta.attr("content_original", viewportmeta.attr("content")); //store the initial value
viewportmeta.attr("content", "user-scalable=yes, width=device-width minimum-scale=1, maximum-scale=1"); //make current viewport full zoom out

//do your things... 

viewportmeta.attr("content", viewportmeta.attr("content_original")); //then return back to old  viewport conditions