0

我使用 JQuery 隐藏页面的某些部分并显示其他部分(当前子页面,同时隐藏所有其他部分)。但是,当我单击按钮时,更改仅适用 1 秒钟,然后样式重置为默认值...

这是代码的一部分,例如:

$(document).ready(function(){
$("#NavMenu a").on('click', function() {

   var chosen = $(this).attr("id");

   $(".SubPage").css('display', 'none');
   $(".SubPage, #" + chosen).css('display', 'block');

 });
});

SubPage = 页面上所有子文章使用的类;NavMenu = 用于选择页面部分的主菜单的 id;每个子页面都有自己的 id,变量“chosen”持有。

*如果我将属性更改为其他属性(出于测试目的),例如更改“字体大小”而不是“显示”,它们仍然会闪烁一秒钟并切换回原来的状态。

4

1 回答 1

0

我已将您的 JSFiddle更新为可以使用的东西。

我删减了很多,因为您包含的内容超出了您的需要。

您的选择器之一是错误的:

 $(".SubPage, #" + chosen).css('display', 'block');

需要是:

 $(".SubPage#" + chosen).css('display', 'block');

另请注意,您可以使用简单的.show().hide()方法:

 $("#NavMenu a").on('click', function() {
    var chosen = $(this).attr("id");
   $(".SubPage").hide();
   $(".SubPage#" + chosen).show();
  });
于 2013-07-11T23:40:44.040 回答