jQueryUI 小结

一直绝的jQuery是一个很不错的插件,方便使用开发,今天再谈一下jQueryUI的使用.

结合runoob.com实例,自己总结.

拖拽

将元素设置为如下的样式.

<div id="parentID">
    <div id="my-id">
        <p>请拖动我!</p>
    </div>
</div>
<script>
  $(function() {
    $( "#draggable" ).draggable();
  });
</script>

其他的设置:
当 draggable 移动到视区外时自动滚动文档。设置 scroll 选项为 true 来启用自动滚动,当滚动触发时进行微调,滚动速度是通过 scrollSensitivity 和 scrollSpeed 选项设置的。

<script>
  $(function() {
    $( "#draggable" ).draggable(
        {
            scroll:true,
            scrollSpeed:100,
            scrollSensitivity:100
        });
  });
</script>

通过定义 draggable 区域的边界来约束每个 draggable 的运动。设置 axis 选项来限制 draggable 的路径为 x 轴或者 y 轴,或者使用 containment 选项来指定一个父级的 DOM 元素或者一个 jQuery 选择器,比如 ‘document.’。

<script>
  $(function() {
    $( "#draggable" ).draggable(
        {
            axis:"y",
            containment:"parent"//直接指定父类,非选择器
        });
  });
</script>

延迟相关
delay:毫秒数 当开始拖拽时延迟相应的秒数
distance:像素点 当开始拖拽时,达到相应的像素开始拖拽

  $(function() {
    $( "#draggable" ).draggable(
        {
            delay:1000
            distance:20
        });
  });

除此之外我还可以对相应的拖拽事件进行监听
start拖拽开始时回调
darg拖拽中的回调
stop拖拽结束的回调

$('#dargable'){
    sart:function(){
    },
    drag:function(){
    },
    stop:function(){
    }
}

注意
在拖拽的时候我们可以,取消一些元素的选中用到,这个函数.

$( "div, p" ).disableSelection();

handle属性(字符串选择器),darggable上拖拽handle指定部分时才允许拖拽.
cancel属性,darggable(字符串选择器)上拖拽cancel指定部分时不起作用.

$( "#draggable" ).draggable({ handle: "p" });
$( "#draggable2" ).draggable({ cancel: "p.ui-widget-header" });

revert参数(布尔值)
停止拖拽时是否返回到原始位置

$( "#draggable" ).draggable({ revert: true });

重要
对齐方式是很常用的属性需要注意,我们如果将元素放入另一个元素内,并且需要对齐的话我们就需要设置这个属性.
snap:true 对齐到所有其他的draggable元素
snap:”对齐元素的字符选择器”
snapMode:inner(表示对齐元素的内边) outer(表示对齐元素的外边)
both(对齐元素的内外边)

snap与snap配对使用更佳

$( "#draggable" ).draggable({ snap: true });
$( "#draggable2" ).draggable({ snap: ".ui-widget-header" });
$( "#draggable3" ).draggable({ snap: ".ui-widget-header", snapMode: "outer" });
$( "#draggable4" ).draggable({ grid: [ 20, 20 ] });
$( "#draggable5" ).draggable({ grid: [ 80, 80 ] });

视觉反馈效果

给用户提供反馈,就像以助手方式拖拽对象一样。helper 选项接受值 ‘original’(用光标移动 draggable 对象),’clone’(用光标移动 draggable 的副本),或者一个返回 DOM 元素的函数(该元素在拖拽期间显示在光标附近)。通过 opacity 选项控制助手的透明度。

一般helper选项用的比较多

为了区别哪一个 draggable 正在被拖拽,让在运动中的 draggable 保持最前。如果正在拖拽,使用 zIndex 选项来设置助手的高度 z-index,或者使用 stack 选项来确保当停止拖拽时,最后一个被拖拽的项目总是出现在同组其他项目的上面。

代码不在这里重复

放置

droppable表示该元素可以存放拖拽(draggable元素),只要有相应的元素放入到droppable元素中drop回调函数就会被调用.

accpet 指定接收到元素,如果设定了,其他元素被拖拽,drop回调函数不会调用.相应的activeClass与hoverClass也不会改变.

activeClass:当拖拽元素放置到droppable元素当中(没有松开鼠标),这是droppable元素会变为这类的样式

hoverClass:当有draggable元素被拖拽时,这个类的样式会被调用.

greedy:(布尔值)当父元素与子元素都为droppable,设置为true防止父元素的drop函数被调用

$("#droppable").droppable({
    drop:function(){

    },
    accept:"#draggable",
    activeClass:"",
    hoverClass:""
})

缩放

animate:(布尔值) 是否开启动画
containment:元素选择器,限制缩放的区域
delay:毫秒数 延迟相应的毫秒数执行缩放
distance: 延迟相应的像素值延迟相应的缩放
helper: CSS lass 当做缩放时只显示元素的轮廓
minWidth,minHeight,maxHeight,maxWidth指定缩放元素最大最小的宽度、高度.
aspectRatio:纵横比
grid:像素值,指定元素在缩放的时候纵横最大最小增50px
alsoResize:元素选择器 当缩放元素缩放时,该属性所对应的元素也会被缩放(当然该元素也应是缩放元素)
ghost:布尔值 当元素被缩放时,会产生透明的效果

$( "#resizable" ).resizable({
        animate:true,
        containment:"#container",
        delay:1000,
        distance:40,
        minWidth:100,
        maxWidth:200,
        minHeight:200,
        maxHeight:300,
        aspectRatio:16/9,
        grid:50,
        ghost:true
    });

选择

stop:回调函数 选择事件完成的回调

$( "#selectable" ).selectable({
        stop:function(){

        }
    });

排序

使用sortable时,需要将对应元素的选取取消掉

$( "#sortable" ).sortable();
$( "#sortable" ).disableSelection();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值