如果DIV可见,则禁用链接操作(jQuery-toggle)
根据点击的链接,我使用以下命令在3个不同的div之间切换 看看这把小提琴 基本上,Link1显示DIV1,Link2显示DIV2,link3显示DIV3 我遇到的问题是: 如果用户在当前DIV已可见时单击该链接,则会删除当前DIV,并且不显示任何内容。我希望它什么也不做 我知道使它工作所需的逻辑(如果'this'div可见-什么都不做),但我不知道如何编写它 任何帮助都将不胜感激 jQuery:如果DIV可见,则禁用链接操作(jQuery-toggle),jquery,css,toggle,Jquery,Css,Toggle,根据点击的链接,我使用以下命令在3个不同的div之间切换 看看这把小提琴 基本上,Link1显示DIV1,Link2显示DIV2,link3显示DIV3 我遇到的问题是: 如果用户在当前DIV已可见时单击该链接,则会删除当前DIV,并且不显示任何内容。我希望它什么也不做 我知道使它工作所需的逻辑(如果'this'div可见-什么都不做),但我不知道如何编写它 任何帮助都将不胜感激 jQuery: jQuery('.viewSchedule').click(function () {
jQuery('.viewSchedule').click(function () {
var index = $(this).index(),
newTarget = jQuery('.targetSched').eq(index);
jQuery('.targetSched').not(newTarget).fadeOut('fast')
newTarget.delay('fast').fadeToggle('fast')
return false;
CSS:
.targetSched {display: none}
.targetSched.first {display: block}
HTML:
<a class="viewSchedule" target="1"><span class="viewBTN">WEEKLY</span></a>
<a class="viewSchedule" target="2"><span class="viewBTN">DAILY</span></a>
<a class="viewSchedule" target="3"><span class="viewBTN">LIST</span></a>
<div id="sh-week" class="targetSched first">WEEKLY CONTENT</div>
<div id="sh-daily" class="targetSched">DAILY CONTENT</div>
<div id="sh-list" class="targetSched">LIST CONTENT</div>
每周
每日的
列表
每周内容
每日内容
列表内容
你也在淡出目前的部门。只要将fadeToggle()
更改为fadeIn()
,因为fadeToggle()
会隐藏当前可见的元素
查看以下代码段
jQuery('.viewSchedule').click(function () {
var index = $(this).index(),
newTarget = jQuery('.targetSched').eq(index);
jQuery('.targetSched').not(newTarget).fadeOut('fast')
newTarget.delay('fast').fadeIn('fast') //change this line
return false;
})
只需替换以下代码:
newTarget.delay('fast').fadeToggle('fast');
为此:
newTarget.delay('fast').fadeIn('fast');
问题是
fadeToggle
切换元素的显示状态。因此,如果该元素已经可见,它将在第二次单击时隐藏它,并在下一次单击时再次显示,依此类推。检查显示属性,然后执行fadeToggle
jQuery('.viewSchedule').click(function () {
var index = $(this).index(),
newTarget = jQuery('.targetSched').eq(index);
if(newTarget.css("display") != "block"){ jQuery('.targetSched').not(newTarget).fadeOut('fast')
newTarget.delay('fast').fadeToggle('fast')
}
return false;
})
啊,这么简单!非常感谢;)事实证明,这对于我在这个特殊情况下所需要的东西来说是过分的,但对于我正在做的其他事情来说非常有用,所以非常感谢这句话:)