jquery插件--h5移动设备自适应 transform scale

// 创建一个闭包
(function($) {
  // 插件的定义
  $.fn.scale = function(options) {
    var obj = this;
    var opts = $.extend({}, $.fn.scale.defaults, options);
    init(obj, opts);
    $(window).resize(function(event) {
      init(obj, opts);
    });
  };
  function init(obj, opts){
      var w = $(window).width();
      var h = $(window).height();
      var obj_w = obj.width()+opts.offset*2;
      if(w<opts.scale_w){
        var xScale = w/obj_w; //缩放比例
        var yScale = xScale;
        //缩放以及偏移
        obj.css({
          ‘transform‘: ‘scale(‘ + xScale + ‘, ‘ + yScale + ‘)‘,
          ‘transform-origin‘: ‘0px 0px‘,
          /* IE 9 */
          ‘-ms-transform‘: ‘scale(‘ + xScale + ‘, ‘ + yScale + ‘)‘,
          ‘-ms-transform-origin‘: ‘0px 0px‘,
          /* Safari 和 Chrome */
          ‘-webkit-transform‘: ‘scale(‘ + xScale + ‘, ‘ + yScale + ‘)‘,
          ‘-webkit-transform-origin‘: ‘0px 0px‘,
          /* Firefox */
          ‘-moz-transform‘: ‘scale(‘ + xScale + ‘, ‘ + yScale + ‘)‘,
          ‘-moz-transform-origin‘: ‘0px 0px‘,
          /* Opera */
          ‘-o-transform‘: ‘scale(‘ + xScale + ‘, ‘ + yScale + ‘)‘,
          ‘-o-transform-origin‘: ‘0px 0px‘
        });
      }else{
         obj.css({
          ‘display‘: ‘ block‘,
          ‘margin‘: ‘0 auto‘,
          ‘transform‘: ‘scale(1, 1)‘,
          ‘transform-origin‘: ‘0px 0px‘,
          /* IE 9 */
          ‘-ms-transform‘: ‘scale(1, 1)‘,
          ‘-ms-transform-origin‘: ‘0px 0px‘,
          /* Safari 和 Chrome */
          ‘-webkit-transform‘: ‘scale(1, 1)‘,
          ‘-webkit-transform-origin‘: ‘0px 0px‘,
          /* Firefox */
          ‘-moz-transform‘: ‘scale(1, 1)‘,
          ‘-moz-transform-origin‘: ‘0px 0px‘,
          /* Opera */
          ‘-o-transform‘: ‘scale(1, 1)‘,
          ‘-o-transform-origin‘: ‘0px 0px‘
         });
      }
  }
  // 插件的defaults
  $.fn.scale.defaults = {
    scale_w : 640, // 缩放标准宽度, 宽度小于此像素进行缩小
    offset : 20 //对象padding偏差
  };
// 闭包结束
})(jQuery);   

调用方式:

    <script src="jquery-1.7.2.js" type="text/javascript"></script>
    <script src="jquery.scale.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function(){
            var opts = {
                scale_w : 640, //缩放标准,屏幕小于此像素进行缩小
                offset : 20
            };
            $("#lal").scale(opts);
        });
    </script>

html代码 test.html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css">
		*{
			margin: 0;
			padding: 0;
		}
		body{
			position: relative;
			width: 100%;
			height: 100px;
		}
		.lal{
			width: 640px;
			height:auto;
			padding: 20px;
			overflow: hidden;
			background: #ccc;
			font-size: 20px;
		}
	</style>
	<script src="jquery-1.7.2.js" type="text/javascript"></script>
	<script src="jquery.scale.js" type="text/javascript"></script>
	<script type="text/javascript">
		$(function(){
			var opts = {
				scale_w : 640, //缩放标准,屏幕小于此像素进行缩小
				offset : 20
			};
			$("#lal").scale(opts);
		});
	</script>
</head>
<body>
	<div class="lal" id="lal">
        这里是文字:sssssss
	</div>
</body>
</html>

下载地址:http://pan.baidu.com/s/1i3qYgs9

时间: 2024-08-22 10:26:53

jquery插件--h5移动设备自适应 transform scale的相关文章

Jquery插件----TextArea高度自适应

textArea的高度自适应本来应该很简单的,只需要用js监听它的输入然后修改其高度即可,甚至对于ie只要用css(overflow:visible;)控制就可以了.但是同样会有兼容性问题,用一个jQuery插件来实现.代码如下: $.fn.extend({ textareaAutoHeight: function (options) { this._options = { minHeight: 0, maxHeight: 1000 } this.init = function () { for

可替代CSS3 transition和transform的jQuery插件

jQuery Transit是一款可制作超级平滑的CSS3 transformations 和 transitions动画的jQuery插件.它能够通过jquery来完成CSS转换和过渡动画效果,这对于一些不支持css3转换和过渡属性的浏览器来说是一个非常有用的jquery插件. 在线演示:http://www.htmleaf.com/Demo/201501281290.html 下载地址:http://www.htmleaf.com/jQuery/Layout-Interface/201501

15个使用的jquery插件介绍

在这篇文章中,我们整理最新的15个jQuery插件, 它们都非常优秀.根据下面提到的这些jQuery插件,你可以在很多地方提高和优化Web应用的性能. 我们希望你能从中找到对你有帮助的插件,如果你也知道很多jQuery的最新资源,可以在评论中告诉我们,和大家一起分享. 1.jQuery.fblogin jQuery.fblogin,顾名思义,它是一个用jQuery实现的Facebook登录插件,你需要申请一个Facebook应用的id,然后添加Facebook JS SDK,通过这个插件来加载S

15个超级实用的jQuery插件

jQuery是一个可订制的.轻量级的前端开发框架,它会让你的前端开发拥有无限的可能性.它会在敏捷Web开发中帮你做很多事情,比如简化HTML文档的解析.事件处理.动画效果和Ajax交互.实践上jQuery已经成为了新一代的标准. 在这篇文章中,我们整理了9月份以来最新的15个jQuery插件, 它们都非常优秀.根据下面提到的这些jQuery插件,你可以在很多地方提高和优化Web应用的性能. 我们希望你能从中找到对你有帮助的插件,如果你也知道很多jQuery的最新资源,可以在评论中告诉我们,和大家

优化Web性能的15个jQuery插件

jQuery是一个可订制的.轻量级的前端开发框架,它会让你的前端开发拥有无限的可能性.它会在敏捷Web开发中帮你做很多事情,比如简化HTML文档的解析.事件处理.动画效果和Ajax交互.实践上jQuery已经成为了新一代的标准. 在这篇文章中,我们整理了9月份以来最新的15个jQuery插件, 它们都非常优秀.根据下面提到的这些jQuery插件,你可以在很多地方提高和优化Web应用的性能. 我们希望你能从中找到对你有帮助的插件,如果你也知道很多jQuery的最新资源,可以在评论中告诉我们,和大家

12个最新免费的jQuery插件周报#5(2015年)

(06/03/2015 至 13/03/2015)这周收集的12个最好.最新的12个免费jQuery插件 Elastic SVG Sidebar Material Design 弹性SVG侧栏导航,受 Material Design 启发 Animating labels for input form 非常适合于小屏幕的动画浮动标签. jQuery Light Carousel Light Carousel 是一个轻量级的响应式 jQuery carousel轮播. jQuery polygon

jQuery插件实例四:手风琴效果[无动画版]

手风琴效果就是内容的折叠与打开,在这个插件中,使用了三种数据来源:1.直接写在DOM结构中:2.将数据写在配置项中:3.从Ajax()中获取数据.在这一版中,各项的切换没有添加动画效果,在下一版中会是有动画效果的. 在这个插件中,CSS和JS的配置非常重要,需要特别注意.另外,加个思考,请先看完后再想这个问题:当点击其中某项时,给width直接添加animate是否合适,当快速在其上移动时,如何保证效果? 效果图预览 插件JS accordionB.js 1 ; 2 (function ($,

2016年4月最佳的20款 jQuery 插件推荐

这个列表包括20个我们觉得是最有用的免费的 jQuery 插件,它们都是最具创新性和最省时省力的解决方案,很多都是现代化的设计和开发中碰到的问题的处理方案.如果你熟悉下面列出的任何插件,请与我们的读者分享您的意见,或者如果您知道的我们还没有包括的话,请与我们分享在下面的评论部分. 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10个效果[源码

Jquery插件-Html5图片上传并裁剪

/** * 图片裁剪 * @author yanglizhe * 2015/11/16 */ (function($){ /** * Drag */ var Drag={obj:null,init:function(elementHeader,element){elementHeader.onmousedown=Drag.start;elementHeader.obj=element;if(isNaN(parseInt(element.style.left))){element.style.le