我有一個基本模板,可以正常使用我在這裏發佈的格式。但是,我想將腳本保留在一個塊內,但是當我將一個腳本從主體移動到頭部時,單擊時菜單不會丟失。我怎樣才能解決這個問題?腳本無法在HTML body標籤外工作
HTML:
{% load staticfiles %}
<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
{% block meta_tags %}{% endblock meta_tags%}
<title>
{% block title %}BPM App{% endblock title %}
</title>
{% block stylesheets %}
<link type="text/javascript" href="{% static 'bpmapp/js/topnavbar.js' %}">
<link rel="shortcut icon" type="image/png" href="{{STATIC_URL}}/favicon.ico"/>
{% endblock %}
{% block javascript %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(function() {
cbpHorizontalMenu.init();
});
</script>
{% endblock javascript %}
{% block extra_head %}{% endblock %}
</head>
<body>
{% include 'bpmapp/_topnavbar.html' %}
{% block content %}
{% endblock content %}
<script src="static/bpmapp/js/cbpHorizontalMenu.min.js"></script>
</body>
</html>
cbpHorizontalMenu.min.js:
var cbpHorizontalMenu = (function() {
var b = $("#cbp-hrmenu > ul > li"),
g = b.children("a"),
c = $("body"),
d = -1;
function f() {
g.on("click", a);
b.on("click", function(h) {
h.stopPropagation()
})
}
function a(j) {
if (d !== -1) {
b.eq(d).removeClass("cbp-hropen")
}
var i = $(j.currentTarget).parent("li"),
h = i.index();
if (d === h) {
i.removeClass("cbp-hropen");
d = -1
} else {
i.addClass("cbp-hropen");
d = h;
c.off("click").on("click", e)
}
return false
}
function e(h) {
b.eq(d).removeClass("cbp-hropen");
d = -1
}
return {
init: f
}
})();
編輯以:
var cbpHorizontalMenu =$(document).ready(function() {
var b = $("#cbp-hrmenu > ul > li"),
g = b.children("a"),
c = $("body"),
d = -1;
$(function f() {
g.on("click", a);
b.on("click", function(h) {
h.stopPropagation()
})
});
$(function a(j) {
if (d !== -1) {
b.eq(d).removeClass("cbp-hropen")
}
var i = $(j.currentTarget).parent("li"),
h = i.index();
if (d === h) {
i.removeClass("cbp-hropen");
d = -1
} else {
i.addClass("cbp-hropen");
d = h;
c.off("click").on("click", e)
}
return false
});
$(function e(h) {
b.eq(d).removeClass("cbp-hropen");
d = -1
}
return {
init: f
});
})();
我編輯的js文件,但仍然無法點擊菜單。我做的編輯是否正確?你可以在這個問題中看到編輯好的js文件 – Ibo
編輯我的答案 – axrami
請問你能編輯原始的js文件,我必須看看你如何改變它?我不知道你想如何實現與原始文件 – Ibo