可缩放Reloaded-一个针对可缩放元素的复用组件


Posted in Javascript onMarch 10, 2007

原文地址:http://www.jackslocum.com/blog/2006/11/24/resizable-reloaded/

这些范例展示了元素如何应用了一个浮动(默认)和装上可缩放的组件。

查看 basic.js 完整代码。

基本范例
这是个简单的可缩放的范例。在矩形附近可调节大小。这个例子采用了“浮动”的默认处理。

Resize Me!
 
 
 
var basic = new YAHOO.ext.Resizable('basic', {
    width: 200,
    height: 100,
    minWidth:100,
    minHeight:50
});

包裹元素

一些元素并没有子元素,例如images and textares。过去的做法是,你把这些元素放进一个可缩放的元素里面,作为其的子元素。到了yui-ext .33rc2,组件会将这些元素包裹好,即通过计算borders/padding应调整多少,偏移出合适的句柄。你所需要做的只是声明"wrap:true"。手工加入resizeChild做法也是支持的

调节栏
注意蓝色的调节栏。属性为 "pinned:true".

动态调整
如果您不想代理调整,可打开动态调整,只要"dynamic:true" 。

下面的textarea打开了动态调整,并附有调节栏。

 
 
 

如此简单的代码,连电脑装机的都会写

var dwrapped = new YAHOO.ext.Resizable('dwrapped', {
  wrap:true,
  pinned:true,
  width:450,
  height:150,
  minWidth:200,
  minHeight: 50,
  dynamic: true
});

按比例缩放
有些图像的按比例缩放,属性为: preserveRatio:true.

可缩放Reloaded-一个针对可缩放元素的复用组件
 
 
 
var wrapped = new YAHOO.ext.Resizable('wrapped', {
  wrap:true,
  pinned:true,
  minWidth:50,
  minHeight: 50,
  preserveRatio: true
});

直接方式
一种直接了当,不用花俏的处理方式。属性为 transparent to true.

可缩放Reloaded-一个针对可缩放元素的复用组件
 
 
 
var transparent = new YAHOO.ext.Resizable('transparent', {
  wrap:true,
  minWidth:50,
  minHeight: 50,
  preserveRatio: true,
  transparent:true
});

自定义方式
       八个方向的缩放。要使得元素在x、y方向可调节,那么这个元素应该是绝对定位的(positioned absolute). 你也可以通过属性"handles"来确定某一方向出现与否,而且允许你在CSS里修改它的样式。

这是一张八个方向的缩放的、自定义调节栏的、可移动的按正比例缩放的图片 (做起来不太容易!).
双击图片隐藏

var custom = new YAHOO.ext.Resizable('custom', {
  wrap:true,
  pinned:true,
  minWidth:50,
  minHeight: 50,
  preserveRatio: true,
  dynamic:true,
  handles: 'all', // shorthand for 'n s e w ne nw se sw'
  draggable:true
});

固定调节(译者注,这个功能好像有点问题,间歇性运行不正常,待修复!)
每次调节量都是 固定值

 
var snap = new YAHOO.ext.Resizable('snap', {
  pinned:true,
  width:250,
  height:100,
  handles: 'e',
  widthIncrement:50,
  minWidth: 50,
  dynamic: true
});
注意: 固定调节 和 按比例 是冲突的 ,不能用于一起。

加入动画效果
动画效果有两个参数 easing(特性) 和 duration(持续时间) 并 设置 animate:true,

Animate Me!
 
 
 
var animated = new YAHOO.ext.Resizable('animated', {
  width: 200,
  height: 100,
  minWidth:100,
  minHeight:50,
  animate:true,
  easing: YAHOO.util.Easing.backIn,
  duration:.6
});
注意:很明显的原因动画和动态调整dynamic是不能用在一起的。
Javascript 相关文章推荐
stream.js 一个很小、完全独立的Javascript类库
Oct 28 Javascript
下载文件个别浏览器文件名乱码解决办法
Mar 19 Javascript
js中replace的用法总结
Dec 27 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
Jun 20 Javascript
javascript显式类型转换实例分析
Apr 25 Javascript
JQuery分屏指示器图片轮换效果实例
May 21 Javascript
JavaScript编程学习技巧汇总
Feb 21 Javascript
Javascript数组Array基础介绍
Mar 13 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
Jul 01 Javascript
详解js的事件代理(委托)
Dec 22 Javascript
js仿新浪微博消息发布功能
Feb 17 Javascript
jQuery EasyUI开发技巧总结
Sep 26 jQuery
为Yahoo! UI Extensions Grid增加内置的可编辑器
Mar 10 #Javascript
Gird事件机制初级读本
Mar 10 #Javascript
Gird组件 Part-3:范例RSSFeed Viewer
Mar 10 #Javascript
对YUI扩展的Gird组件 Part-2
Mar 10 #Javascript
对YUI扩展的Gird组件 Part-1
Mar 10 #Javascript
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
Mar 10 #Javascript
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
Mar 10 #Javascript
You might like
PHP XML操作类DOMDocument
2009/12/16 PHP
php将mysql数据库整库导出生成sql文件的具体实现
2014/01/08 PHP
php单态设计模式(单例模式)实例
2014/11/18 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
php in_array() 检查数组中是否存在某个值详解
2016/11/23 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
扩展JavaScript功能的正确方法(译文)
2012/04/12 Javascript
js实现日期级联效果
2014/01/23 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
2015/06/05 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
详解vue-validator(vue验证器)
2017/01/16 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
python打开网页和暂停实例
2014/09/30 Python
Python创建系统目录的方法
2015/03/11 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
纯python实现机器学习之kNN算法示例
2018/03/01 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
Python版名片管理系统
2018/11/30 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
python logging.basicConfig不生效的原因及解决
2020/02/20 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
中学教师管理制度
2014/01/14 职场文书
大学生求职工作的自我评价
2014/02/13 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
win10拖拽文件时崩溃怎么解决?win10文件不能拖拽问题解决方法
2022/08/14 数码科技