有没有更好的方法来使用jQuery切换

时间:2011-03-11 02:19:22

标签: jquery css jquery-ui toggle

概述:

我有一个javascript日历,它有多个视图(日,周,月),可以在这些视图中生成带有类名的事件。

我正在努力实现一种打开或关闭这些事件的可见性的好方法,并在视图发生变化时继续进行这些更改。

$("button").click(function () {
$(".calendar_event").toggle();
});

据我所知,这会更改事件的内联属性,在您更改视图并且日历动态重新加载事件(删除由toggle()插入的display:none属性之前,该属性很有效。

我还尝试过指定一个类(.hidden),其显示属性为none;

$('button').toggle(function () {
    $(".calendar_event").addClass("hidden");
}, function () {
    $(".calendar_event").removeClass("hidden");
});

在更改视图时,遗憾的是这不起作用。

有人有解决方案吗?

3 个答案:

答案 0 :(得分:2)

如果在新HTML中加载,您对文档(DOM)所做的更改将无法在重新加载后继续存在。您必须将事件状态存储在某个地方,可能在另一个框架中,服务器端或使用cookie,然后重新应用类/样式。

答案 1 :(得分:0)

答案 2 :(得分:0)

我建议为容器设置一个“calender-event-disabled”类(它必须在替换的日历html片段之外),它保存整个日历。然后你的按钮会添加/删除上面提到的类。如果两个类都存在,添加一些隐藏事件的css。