【问题标题】:Mobile website zoom into images like google maps移动网站放大图像,如谷歌地图
【发布时间】:2014-01-14 08:47:31
【问题描述】:

我有一个移动网站,我喜欢插入带有手势缩放选项的图像。它应该看起来像您在谷歌地图上放大,以便其他内容始终具有相同的大小并且只有图像在放大。是否有任何脚本?还是我必须使用 iframe?

问候

米克

【问题讨论】:

    标签: iphone html jquery-mobile mobile


    【解决方案1】:

    对于手势部分,您可以使用hammer.js 之类的库来处理捏合事件。你可以找到它HERE

    对于缩放,您可以使用 css 转换将图像(或 div)与页面的其余部分分开。在下面的演示中,单击放大和缩小按钮会更改 CSS 比例转换值。在您的情况下,您将处理捏合事件并相应地更改比例。

    注意:根据以下 Omar 的评论更新。

    <div id="imgContainer" >
        <img id="zoomImage" src="http://www.esa.int/var/esa/storage/images/esa_multimedia/images/2003/10/soho_image_28_october_2003/10098404-2-eng-GB/SOHO_image_28_October_2003_node_full_image.jpg" />
    <div>
    
    #imgContainer{
        overflow: auto;
        height: 400px;
    }
    
    $(document).on("click", ".zoomBtn", function(){    
        var id = $(this).prop("id");
        if (id == 'in'){
            curScale *= 1.25;
        } else {
            curScale *= 0.75
        }        
        $("#zoomImage").css({
          "transform": "scale(" + curScale  + ")"
        });
    });
    

    这是一张 jQM 放大图 DEMO

    注意:如果您在 SVG 画布上使用 SVG,则可以通过更改视口大小来进行缩放。

    【讨论】:

    • 一如既往的好作品。只是一个小提示,从 jQuery 1.8 开始,它会动态地为 CSS 属性添加钩子,所以你只需要 transform ;)
    • @Omar,感谢代码审查;)。这是很好的信息并简化了解决方案。我已经相应地更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    相关资源
    最近更新 更多