用于添加和删除类的 Jquery 打开/关闭变量
Jquery open/close variable for adding and removing class
如您所见,我想做和if/else语句来添加和删除类。但是下面的 if/else statematen 对我并不真正有用,它添加了类,但当我第二次单击时,它不会再次删除它们。
function showAndHidediv(id, liName) {
$("#" + id).toggle(function () {
$("#" + id).animate({
display: 'block'
}, 500);
var open = "closed";
if (open == "open") {
$("#" + liName + " a").removeClass('color');
$("#" + liName + " a div").removeClass('block');
$("#" + liName + " img").removeClass('block');
open = "closed";
} else {
$("#" + liName + " a").addClass('color');
$("#" + liName + " a div").addClass('block');
$("#" + liName + " img").addClass('block');
open = "open";
}
});
}
您可以使用切换类来解决问题。
在上面的代码片段中,您已经采用了本地 JS 变量.i.e.var open = "closed";
所以每次它的加特重置。
尝试全局声明"open"变量,然后检查。它会起作用。
由于您使用的是jQuery,因此使用内置函数toggleClass()
会更方便:
$( "p" ).click(function() {
$( this ).toggleClass( "highlight" );
});
演示小提琴
而您的情况:
function showAndHidediv(id, liName) {
$("#" + id).toggle(function () {
$("#" + id).animate({
display: 'block'
}, 500);
$("#" + liName + " a").toggleClass('color');
$("#" + liName + " a div").toggleClass('block');
$("#" + liName + " img").toggleClass('block');
});
}
像这样尝试
function showAndHidediv(id, liName) {
$("#" + id).toggle(function () {
$("#" + id).animate({
display: 'block'
}, 500);
var open = false;
if (open == "open") {
$("#" + liName + " a").removeClass('color');
$("#" + liName + " a div").removeClass('block');
$("#" + liName + " img").removeClass('block');
open =false;
} else {
$("#" + liName + " a").addClass('color');
$("#" + liName + " a div").addClass('block');
$("#" + liName + " img").addClass('block');
open = true;
}
});
}
相关文章:
- 为什么window.open不打开一个以变量形式给出的链接
- 使用JavaScript打开另一个html页面时传递变量
- 链接中有php变量的Javascript打开窗口
- 如何超链接在新选项卡中打开并携带一些变量的选择标记
- 如何将变量传递到'窗口.打开'
- 用于添加和删除类的 Jquery 打开/关闭变量
- 在和父项相同的选项卡中打开窗口,使用来自父项的变量
- Angular:如何在外部浏览器中打开Angular变量-appgyver混合应用程序
- onclick使用document.getElementByID打开窗口传递变量
- 在变量中传递切换打开状态
- 打开存储在 JavaScript 变量中的 URL
- 窗口.打开参数作为变量
- Jquery 将 url 作为变量打开并更改文本
- 当应该从先前设置的变量打开下一页时,不会加载下一页
- Javascript:使用当前URL中的变量来创建和打开新的URL
- 如何使用显示变量url的iframe打开引导模式
- Javascript Bookmarklet获取Url变量,打开多个搜索窗口
- 在新窗口中打开存储在javascript变量中的html文件
- 如何从控制器监视服务中的变量以打开模态
- 如何在不打开新页面的情况下将javascript变量传递给php