javascript - 打开另一个 Filtrify 面板时如何关闭?

标签 javascript css filtering

我目前正在使用我的一个网站的精美 Filtrify 脚本,该脚本具有 Isotope 集成功能 (http://luis-almeida.github.com/filtrify/)。

在我的网站上,我有 4 个“类别”/面板用于搜索我的字段。当我打开第一个类别/面板并将鼠标悬停到下一个并打开它时,第一个仍然打开。是否可以使用 CSS 或 Javascript 在将鼠标悬停到下一个类别/按钮以打开另一个 Filtrify 面板时关闭打开的 Filtrify 面板?现在,如果我全部打开它们,它们就会保持打开状态。例如,在这里打开“类型”、“主要 Actor ”和“导演”:http://luis-almeida.github.com/filtrify/movies.html

非常感谢您的帮助!谢谢指教!

最佳答案

我不了解库的深度,但您可以尝试在打开另一个面板之前关闭一个面板的兄弟。

该方法的第一个近似值可能是:

Filtrify.prototype.closeSiblingsPanel = function ( f ) {
    for(var item in this._menu){
        if(item !== f && this._menu[item].panel){
            this._menu[item].panel.addClass("ft-hidden");
            this._menu[item].label.removeClass("ft-opened");
        }
    }
};

您还必须修改点击事件处理程序:

Filtrify.prototype.events = function ( f ) {
    //...
    this._menu[f].label.on("click", this._bind(function(event){
        this.openPanel( f );
        this.closeSiblingsPanel( f );
        this.bringToFront( f );
        event.stopPropagation();
    }, this) );
    //...
};

关于javascript - 打开另一个 Filtrify 面板时如何关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14233423/

相关文章:

javascript - 使用 spread 将我从 API 获取的对象添加到我的初始数据源中

css - 使下拉列表的宽度等于它们的父级

javascript - 检查对象属性时与 undefined 或 "undefined"进行比较。有什么不同?

javascript - Vue JS 改变一个数组中的数据

javascript - NVD3.js - 缺少 X 轴刻度

javascript - ios混合应用程序webview闪光白色

jquery - 为什么 rgb CSS 函数在 jQuery 1.7.1 中不再起作用?

date - 日期之间的primefaces数据表过滤器

magento - 根据 product_id 或 user_id(供应商)过滤订单

c# - 如何加速 ListBox 渲染和 ListCollectionView 过滤?