[js开源组件开发]图片放大镜

图片放大镜

一般情况下,手机由于屏幕太小,会有图片上看不清的问题,所以我就做了一个放大镜的js效果,支持pc和移动端。它的原理是利用的backgroundsize来实现的,所以你的浏览器首先要支持这个属性。

然后这个组件还是开源的git项目,你可以为它添加不支持backgroundsize时的解决方法。它的git地址是:图片放大镜github地址 https://github.com/tianxiangbing/image-zooming   ,它的在线演示地址是:js图片放大镜演示地址http://www.lovewebgames.com/jsmodule/image-zooming.html

image-zooming

图片放大镜 例子见DEMO

使用方法案例:

<h1>始终显示放大镜</h1>
<img id="img1" src="a.png" >
<p id="info1"></p>
<h1>只在点击触摸时显示放大镜</h1>
<img id="img2" src="a.png" >
<p id="info2"></p>
<script type="text/javascript" src="../src/zepto.js"></script>
<script type="text/javascript" src="../src/image-zooming.js"></script>
<script>
    $(‘#img1‘).ImageZooming({
        times: 2,
        always: true,
        callback: function(a, b, c, d) {
            $(‘#info1‘).html(‘x: ‘+a.x+‘    y:‘+a.y);
        }
    });
    $(‘#img2‘).ImageZooming({
        times: 2,
        always: false,
        callback: function(a, b, c, d) {
            $(‘#info2‘).html(‘x: ‘+a.x+‘    y:‘+a.y);
        }
    });
</script>

  

或者requirejs

<h1>始终显示放大镜</h1>
    <img id="img1" src="a.png" >
    <p id="info1"></p>
<h1>只在点击触摸时显示放大镜</h1>
    <img id="img2" src="a.png" >
    <p id="info2"></p>
    <script type="text/javascript" src="../src/zepto.js"></script>
    <script type="text/javascript" src="../src/require.js"></script>
    <script>
    requirejs.config({
        //By default load any module IDs from js/lib
        baseUrl: ‘../src‘,
        paths: {
            $: ‘zepto‘
        }
    });
    require([‘image-zooming‘,"$"], function(ImageZooming,$){
        var lz = new ImageZooming();
        lz.init({
            target: $(‘#img1‘),
            times: 2,
            always: true,
            callback: function(a, b, c, d) {
                $(‘#info1‘).html(‘x: ‘ + a.x + ‘    y:‘ + a.y);
            }
        });
        var lz2 = new ImageZooming();
        lz2.init({
            target: $(‘#img2‘),
            times: 2,
            always: false,
            callback: function(a, b, c, d) {
                $(‘#info2‘).html(‘x: ‘ + a.x + ‘    y:‘ + a.y);
            }
        });
    });

  

属性和方法

target dom|string

需要放大的图片对象(仅支持图片<img>)

times int

放大的倍数,默认是2倍

height: int

放大镜的高度,默认100px

width: int

放大镜的宽度,默认100px

always bool

是否始终显示,默认为false,这时,需要放大时,可以鼠标点击图片或触摸时才显示放大镜.

callback: function(a,b,c,d)

放大镜移动的回调方法,其中参数a是{x:11,y:11}的位置对象,b\c是要定位的位置对象,d是放大镜的dom对象
时间: 2024-12-27 23:56:12

[js开源组件开发]图片放大镜的相关文章

[js开源组件开发]query组件,获取url参数和form表单json格式

query组件,获取url参数和form表单json格式 距离上次的组件[js开源组件开发]ajax分页组件一转眼过去了近二十天,或许我一周一组件的承诺有了质疑声,但其实我一直在做,只是没人看到……,最近项目紧,几个小组,只有我一个前端,公司对前端的定位不清晰,导致前端人员过少的情况.所以还得促进公司前端人员增长,不然再这么玩下去,我要被玩死了,一个公司,不可能靠一个资深前端来支撑二三十个开发的需求,这是不现实的,特别是现在的页面不再是复制粘贴的前况下.我默默耕芸,所以这次我整理了这一个月里所有

[js开源组件开发]数字或金额千分位格式化组件

数字或金额千分位格式化组件 这次距离上一个组件<[js开源组件开发]table表格组件>时隔了一个月,由于最近的项目比较坑,刚挖完坑,所以来总结性提出来几个组件弥补这次的空缺,首先是金额和数字的千分位和小数点控制的组件,它的作用主要是在输入框时限制输入的内容为数字.也可以用于普通标签的数字格式化,效果如下图: demo演示地址请点击 http://www.lovewebgames.com/jsmodule/format-number.html 源码github托管地址请点击https://gi

[js开源组件开发]network异步请求ajax的扩展

network异步请求ajax的扩展 在日常的应用中,你可能直接调用$.ajax是会有些问题的,比如说用户的重复点击,比如说我只希望它成功提交一次后就不能再提交,比如说我希望有个正在提交的loading效果.所以我做network这个组件来扩展$.ajax,希望全中国的人民们喜欢. 这里使用到了上篇[js开源组件开发]loading加载效果 一个loading效果,但为了让它独立运行,所以没有进行引用,而是直接做了一个loading方法在里面.它的具体效果图如下: 它的实例DEMO地址请点击这里

[js开源组件开发]localStorage-cache本地存储的缓存管理

localStorage-cache本地存储的缓存管理 距离上次的组件开发有近三个月的时间了,最近一直在做一些杂事,无法静下心来写写代码,也是在学习emberjs,在emberjs中有一个很重要的东西 -- localstorage_adapter,本地存储适配器,利用它可以很方便的把数据保存在本地的localStorage中,但我今天要讲的,并不是ember,也不是适配器,我是个比较念旧的人,所以我对cookie很情有独钟,当然,cookie也会有各种问题,于是我就来改造下localStora

[js开源组件开发]ajax分页组件

ajax分页组件 我以平均每一周出一个开源的js组件为目标行动着,虽然每个组件并不是很庞大,它只完成某一个较小部分的工作,但相信,只要有付出,总会得到回报的.这个组件主要完成分页的工作. 这张图里显示的是这个分页控件的两种基本形态,样式可以自己定制,包括文案内容. 这个分页控件的demo演示地址是: http://www.lovewebgames.com/jsmodule/paging.html 同时,它还是开源的,它的git 地址是:https://github.com/tianxiangbi

[js开源组件开发]loading加载效果

loading加载效果 由于程序和网络的原因,常常我们需要在交互的时候,给用户一个正在加载中的动画,于是,loading组件横空出世.不需要复杂的代码,也能完成大多数业务,这就是我做组件的原则. 效果如下图: 这里演示了三种不一样的效果. 1.loading效果显示在按钮自己身上,这是极好的 2.loading效果显示在其他dom上, 3.loading全屏显示,不明觉厉. 实例demo演示请点击这里http://www.lovewebgames.com/jsmodule/loading.htm

[js开源组件开发]table表格组件

table表格组件 表格的渲染组件,demo请点击http://lovewebgames.com/jsmodule/table.html,git源码请点击https://github.com/tianxiangbing/table 如上图所示,功能基本包括常用表格中遇到的分页.搜索.删除.AJAX操作.由于是用的HANDLEBARS渲染的,所以样式可能很好的控制,要加新的功能也较容易. 调用例子 html <div class="form"> 名称: <input t

[js开源组件开发]js文本框计数组件

js文本框计数组件 先上效果图: 样式可以自行调整 ,它的功能提供文本框的实时计数,并作出对应的操作,比如现在超出了,点击下面的按钮后,文本框会闪动两下,阻止提交.具体例子可以点击demo:http://www.lovewebgames.com/jsmodule/word-count.html,它的源文件托管在github上:https://github.com/tianxiangbing/word-count 使用方法案例: <div class="txt-count-container

[js开源组件开发]js手机联动选择日期 开源git

js手机联动选择日期 这里在前面的<js手机联动选择地区>的基础上,改造数据源之后形成的一个日期的选择器,当然你可以使用之前的PC上模式的<日期控件>,它同时也支持手机端,http://www.cnblogs.com/tianxiangbing/p/calendar.html. 效果图如下: mobile-select-date 手机联动选择日期 这个组件是从mobile-select-area 继承过来的,所以调用方法基本相同 DEMO请点击这里  http://www.love