document.getElementById错误
Drupal.behaviors.Menu = {
attach: function () {
var url = window.location.href;
var baseUrl = Drupal.settings.baseUrl;
var page1 = baseUrl+'/path/page1';
var page2 = baseUrl+'/path/page2';
var page3 = baseUrl+'/path/page3';
if($(".classname").length < 3) {
$( "#hook" ).append("<a class='classname' href='' id='page1_id'>page 1</a>");
$( "#hook" ).append("<a class='classname' href='' id='page2_id'>page 2</a>");
$( "#hook" ).append("<a class='classname' href='' id='page3_id'>page 3</a>");
}
if(url == baseUrl+'/path') {
document.getElementById("page1_id").href = page1;
document.getElementById("page2_id").href = page2;
document.getElementById("page2_id").href = page3;
}
}
};
请不要混淆第1页是(var)和page1_id是(id)。
在上面的函数中我知道它在if语句附近是一个错误 if(url == base ...) 这是它出错的确切位置。 所以想知道我犯了哪个错误(错误如下所示)
- &GT;当我打开那个特定页面时,那些菜单链接被完美地挂钩,当我点击页面1时它完全打开。
问题是我打开的页面首先会继续播放接下来的两页。 就像我先点击第2页,下一页1或第3页(仍显示第2页)。
页面刷新后
如果我先点击第3页,下一页1或第2页(仍显示第3页)。 因为document.getElementById仅保留以前的URL。
非常感谢帮助。
答案 0 :(得分:-1)
对于用户理解,我的网址就像
http://site.localhost/path/page1
(类似第2页和第3页)
这需要根据移动到登台和制作
进行更改 Below code solved my issue
!警告注意评论。
Drupal.behaviors.Menu = {
attach: function () {
//var url = window.location.href;
var baseUrl = Drupal.settings.baseUrl;
var page1 = baseUrl+'/path/page1';
var page2 = baseUrl+'/path/page2';
var page3 = baseUrl+'/path/page3';
//modified
var parts = windows.loaction.pathname.split('/');
var query = parts[parts.length-1].split('.html');
//added these two variables for splitting the url.
if($(".classname").length < 3) {
$( "#hook" ).append("<a class='classname' href='' id='page1_id'>page 1</a>");
$( "#hook" ).append("<a class='classname' href='' id='page2_id'>page 2</a>");
$( "#hook" ).append("<a class='classname' href='' id='page3_id'>page 3</a>");
}
//if(url == baseUrl+'/path') {
if(query[0] == 'path' || query[0] == 'page1' || query[0] == 'page2' || query[0] == 'page3'){
document.getElementById("page1_id").href = page1;
document.getElementById("page2_id").href = page2;
document.getElementById("page2_id").href = page3;
}
}
};