我設計了自定義導航欄/菜單。目前,它從我的style.css調用CSS和使用以下設置在Javascript之前加載CSS
<link rel="stylesheet" href="style.css" type="text/css">
<nav> ... </nav>
<script>
$(function() {
$('.toggle-menu').click(function(){
$('.exo-menu').toggleClass('display');
});
});
jQuery(document).ready(function ($){
$(".change>a").hover(function() {
$(this)[0].click();
},
function() {
/* code for mouseout */
});
});
</script>
內部JS似乎導致與CSS加載一個問題包含在PHP文件所使用的JS。
有沒有什麼辦法可以在JS之前加載被調用的CSS,同時保持原樣,而不必將Javascript放在單獨的.js表單上?
到目前爲止已經試過:
<head>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body onload="initNavigation()">
<nav> ... </nav>
<script>
function initNavigation() {
$(function() {
$('.toggle-menu').click(function(){
$('.exo-menu').toggleClass('display');
});
});
jQuery(document).ready(function ($){
$(".change>a").hover(function() {
$(this)[0].click();
},
function() {
/* code for mouseout */
});
});
}
</script>
</body/>
和
<head>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body>
<nav> ... </nav>
<script>
window.onload=function(){
$(function() {
$('.toggle-menu').click(function(){
$('.exo-menu').toggleClass('display');
});
});
jQuery(document).ready(function ($){
$(".change>a").hover(function() {
$(this)[0].click();
},
function() {
/* code for mouseout */
});
});
}
</script>
</body/>
誰能告訴我在哪裏,我都在哪裏呢?我正在考慮它的.ready部分,但如果是這樣,不確定如何擺脫它而不影響JS的工作方式?
如果我將JS移動到頭部並放置在CSS下面,它可能會有所不同嗎?
爲什麼你認爲內部JS是造成問題的CSS加載?什麼樣的問題? – 2017-09-26 10:25:54
將JavaScript放在結尾身體標記之前。 –
@Znaneswar你的建議需要jQuery,但OP可能使用普通的JS。 – debute