可缩放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 相关文章推荐
DHTML 中的绝对定位
Nov 26 Javascript
js 页面执行时间计算代码
Mar 04 Javascript
风吟的小型JavaScirpt库 (FY.JS).
Mar 09 Javascript
{}与function(){}选用空对象{}来存放keyValue
May 23 Javascript
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
Jan 15 Javascript
利用jQuary实现文字浮动提示效果示例代码
Dec 26 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
Jun 15 Javascript
jQuery实现鼠标经过时出现隐藏层文字链接的方法
Oct 12 Javascript
浅谈Node.js之异步流控制
Oct 25 Javascript
jQuery Datatables表头不对齐的解决办法
Nov 27 jQuery
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
Jan 16 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
Jan 27 Vue.js
为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面向对象的方法重载两种版本比较
2008/09/08 PHP
CodeIgniter钩子用法实例详解
2016/01/20 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
php日期操作技巧小结
2016/06/25 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
JavaScript触发器详解
2007/03/10 Javascript
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
JS控制输入框内字符串长度
2014/05/21 Javascript
jQuery自定义添加"$"与解决"$"冲突的方法
2015/01/19 Javascript
JS中的二叉树遍历详解
2016/03/18 Javascript
jquery插入兄弟节点的操作方法
2016/12/07 Javascript
Vue.js 单页面多路由区域操作的实例详解
2017/07/17 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
2017/08/10 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
Vue.js组件通信的几种姿势
2017/10/23 Javascript
对vue里函数的调用顺序介绍
2018/03/17 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
Vue ​v-model相关知识总结
2021/01/28 Vue.js
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
python基础教程项目五之虚拟茶话会
2018/04/02 Python
opencv实现图片模糊和锐化操作
2018/11/19 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
Django 缓存配置Redis使用详解
2019/07/23 Python
浅谈Pytorch中的torch.gather函数的含义
2019/08/18 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
Python如何使用OS模块调用cmd
2020/02/27 Python
Pandas缺失值2种处理方式代码实例
2020/06/13 Python
企业职业病防治方案
2014/05/29 职场文书
借名购房协议书范本
2014/10/06 职场文书
用几道面试题来看JavaScript执行机制
2021/04/30 Javascript
详解Mysql和Oracle之间的误区
2021/05/18 MySQL
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server