引导 4 - 导航栏切换器折叠有效!但是,如果我即时更改样式表 CSS,它就不再起作用了?



我有一个问题,如果有人能帮助我,我会很高兴! 如果有人觉得这个问题很愚蠢,或者甚至没有很好地解释,请在给出负面反馈之前,写下我应该改进的地方。这样,我就可以从错误中吸取教训!提前感谢!

我的网页仅由javascript,jquery,CSS和bootstrap 4组成。 问题在于引导导航栏汉堡菜单导航栏工作没有任何问题。但是,如果我即时更改页面的样式表(样式.css(,它将不再起作用。我更改了样式表。我还尝试将样式更改为相同的样式表。我仍然有同样的问题。 我如何更改样式表?这里: 我的 html 代码头:

<link id="pagestyle" rel="stylesheet" href="./style/style.css"> 

然后我有一个按钮,单击时会更改样式:

document.querySelector("#pagestyle").setAttribute("href", link);

链接将其他样式表的地址命名为"./style/styleBig.css"。上面的代码在没有任何警告或问题的情况下工作。我能够通过 ES6 更改代码的样式表,没有任何问题。但是,汉堡导航栏切换器停止工作。

因此,在我的主页中加载新的甚至相同的样式表后,导航栏汉堡菜单停止工作。它打开了,但不再塌陷了...动态更改样式意味着您单击一个 botton 并且网站加载另一个样式表。

有人知道它可能是什么吗?我需要再次重新加载 jQuery 吗?

我看到导航栏中的汉堡菜单通常工作如下(HTML 循环更改(:

阶段 (1(:导航栏打开 -> html 代码: <div class="navbar-collapse collapse show" id="navbarSupportedContent" style="">

到阶段 (2(:导航栏试图折叠 -> html 代码: <div class="navbar-collapse collapsing" id="navbarSupportedContent" style="">

到阶段 (3(:导航栏折叠 <div class="navbar-collapse" id="navbarSupportedContent" style="">

问题 一旦我即时更改样式表,导航栏就不起作用。这意味着,一旦我点击汉堡菜单,它就会从阶段 1 变为第 2阶段,然后回到阶段 1。但是,它应该进入第 3 阶段

导航栏代码:

<p>
<a class="btn btn-primary" data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
Link with href
</a>
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
Button with data-target
</button>
</p>
<div class="collapse" id="collapseExample">
<div class="card card-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
</div>
</div>

我也可以在不使用引导的情况下自己编程,但是,我真的很想了解为什么它在加载新的甚至相同的样式表后停止工作。 谁能帮忙!提前非常感谢!干杯 马塞洛

我解决了这个问题。我希望它能在未来帮助任何人。问题出在代码的另一部分。我一点击页面就重新加载了jQuery。我以前已经实现过它,因为它在 github 服务器上运行得不是很好。我解决了 github 的问题,但我遇到了引导的问题。 因此,在这种情况下,我决定删除以下代码:

(function() {
let startingTime = new Date().getTime();
// Load the script
let script = document.createElement("SCRIPT");
let script2 = document.createElement("SCRIPT");
script.src = "./lib/jquery/jquery-3.3.1.js";
script2.src = "./lib/bootstrap/bootstrap.js";
script.onload = function() {
let $ = window.jQuery;
$(function() {
let endingTime = new Date().getTime();
let tookTime = endingTime - startingTime;
console.log("jQuery & Bootstrap is loaded dinamically, after " + tookTime + " milliseconds!" + "Test function only to try to solve github load problem.");
});
};
document.getElementsByTagName("head")[0].appendChild(script2);
document.getElementsByTagName("head")[0].appendChild(script);
})();

因此,一旦我重新加载 jquery 和引导程序以尝试解决另一个问题,我就遇到了引导程序的问题。因此,我决定删除上面的代码,因为很明显上面的解决方案不是要走的路我们不应该解决一个问题并制造另一个问题。所以,我只是删除上面的代码,它工作正常。我会让代码在这里,这可能是将来某人的问题,如果我能帮助某人,我会很高兴!! 谢谢!

最新更新