微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 总是在Extjs中显示Slider的提示文本

在Extjs 4.1.1a中,如何保持滑块的提示文本始终可见?

目前,当用户拖动滑块的条时,提示文本是可见的.
我在docs搜索,但找不到任何相关的概念.

如果没有记录或不可能,请说明如何手动创建提示文本.尖端文本应沿滑块的杆移动,不应克服或隐藏任何其他相邻的部件.

这是我的代码,它生成一个简单的滑块:

xtype:'slider',cls: 'sliderStyle',width: "80%",id: 'slider',value: 6,minValue: 1,maxValue: 12,useTips: true,tipText: function(thumb){
    var months = ['','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
    var value = Ext.String.format(months[thumb.value]);
    return value;
},

问题2:在滑块上悬停时,是否至少可以显示提示文本?

PS:我也问了同样的问题here.

编辑1:我还用两个相邻的按钮(&)移动滑块的搜索栏.所以,必须注意,如果我用相邻的按钮移动搜索条,则提示文本也应该移动.

编辑2:当滑块或相邻按钮上悬停时,提示文本应该可见.

答:http://jsfiddle.net/WdjZn/1/

解决方法

我通过覆盖Ext.slider.Tip中的一些事件处理程序来保持提示可见:
Ext.define('AlwaysVisibleTip',{
    extend: 'Ext.slider.Tip',init: function(slider) {
        var me = this;
        me.callParent(arguments);
        slider.removeListener('dragend',me.hide);
        slider.on({
            scope: me,change: me.onSlide,afterrender: function() {
                setTimeout(function() {
                    me.onSlide(slider,null,slider.thumbs[0]);
                },100);
            }
        });
    }
});

Ext.create('Ext.slider.Single',{
    animate: false,plugins: [Ext.create('AlwaysVisibleTip')],// ...
});

查看demo.

我的方法的缺点:

它依赖于onSlide的私有方法
>仅适用于单个滑块
>只有当animate设置为false时,键盘导航才能正常工作
> setTimeout用于调整提示的初始位置

解决这个缺点将需要黑客攻击不仅Ext.slider.Tip类,而且Ext.slider.Multy类和Ext.slider.Thumb类.

编辑

当使用slider.setValue()被调用时,将changecomplete事件替换为changecomplete更改事件不会触发.

添加demo的滑块与相邻的按钮.

EDIT2

如果使用自定义提示插件,tipText配置将不再应用.你必须使用getText配置的插件

Ext.create('Ext.slider.Single',plugins: [Ext.create('AlwaysVisibleTip',{
        getText: function(thumb) {
            var months = ['','Dec'];
            return Ext.String.format(months[thumb.value]);
        }
    })],// ...
});

更新了demo.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据复制操作的两种方式。‌在聊深浅拷贝之前咱得了解一下js中的两种数据类型:
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:重建二叉树、反向输出链表每个节点 题目 重建二叉树: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列 {1,2,4,7,3,5,6,8} 和中序遍历序列 {
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须了解的知识点,现在迎来了ES6+的时代,因为箭头函数的出现,所以感觉有必要对 this 问题梳理一下,所以刚好总结一下JavaScript中this指向的问题。
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高