我其實之前問過這個問題,但我沒有得到我真正想要的?;氐轿业睦显掝}適用于此網站:http://n-p-cain.com/schedule.html我希望,如果您點擊“日期” “事件菜單部分”中的按鈕您將跳轉到“事件列表”中的該日期并且還將打開手風琴,現在手風琴保持關閉狀態(如果我命名 class=“accordion-link1”或者如果您單擊“事件菜單”中的按鈕,手風琴將打開,但您不會跳轉到它(如果我使用下面的代碼)。 var acc = document.getElementsByClassName("accordion"); var i; for (i = 0; i < acc.length; i++) { acc[i].onclick = function() { this.classList.toggle("active"); var panel = this.nextElementSibling; if (panel.style.maxHeight){ panel.style.maxHeight = null; } else { panel.style.maxHeight = panel.scrollHeight + "px"; } } } // get list of links by class var links = document.getElementsByClassName("accordion-link"); var linksLength = links.length; for(var i=0; i < linksLength; i++){ links[i].onclick = function(e){ // preventDefault is probably optional // depending on your application e.preventDefault(); // isolate the hash var hash = e.target.hash; // remove # from hash hash = hash.substring(1, hash.length); // select by id using hash document.getElementById(hash).click(); } } @charset "utf-8";/* CSS Document */ /* Style the buttons that are used to open and close the accordion panel */button.accordion { background-color: #020725; color: #FFF; font-weight: bolder; cursor: pointer; padding: 10px; margin: 0px 5px 0px 5px; width: 98%; text-align: left; border: none; outline: none; transition: 0.4s; border-radius: 5px;}/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */button.accordion.active, button.accordion:hover { background-color: #132437;}/* Style the accordion panel. Note: hidden by default */div.panel { padding: 1px; margin-bottom: 5px; background-color: #none; max-height: 0px; overflow: hidden; transition: max-height 0.2s ease-out;}
2 回答

撒科打諢
TA貢獻1934條經驗 獲得超2個贊
我認為如果您將 var hash = e.target.hash 更改為 var hash = window.location.hash 就會起作用。據我所知,點擊事件對象不會返回 target.hash。
// get list of links by class
var links = document.getElementsByClassName("accordion-link");
var linksLength = links.length;
for(var i=0; i < linksLength; i++){
links[i].onclick = function(e){
// isolate the hash
var hash = window.location.hash;
// remove # from hash
hash = hash.substring(1, hash.length);
// select by id using hash
document.getElementById(hash).click();
}
}
- 2 回答
- 0 關注
- 199 瀏覽
添加回答
舉報
0/150
提交
取消