我是 javascript 的新手并且还在学习。我有一个按区域划分的国家/地区的svg 地图,我想在将鼠标悬停在每个区域上时显示一些信息。
下面的代码在本地运行时运行良好(jquery),但当将其作为 Github 页面上传到 Github 时,它不起作用。
我想要一些关于如何将我的代码的以下部分转换为 javascript 的建议。(我尝试过使用 addEventListener 和 body.appendChild 但没有成功)
$('#regions > *').mouseover(function (e) {
var region_data = $(this).data('region');
// Info box informations
$('<div class="info_box">' + region_data.region_name + '<br>' + '</div>').appendTo('body');
});
// Show info box when mousemove over a region
$('#regions > *').mousemove(function(e) {
var mouseX = e.pageX,
mouseY = e.pageY;
// Position of information box
$('.info_box').css({
top: mouseY-50,
left: mouseX+10
});
}).mouseleave(function () {
$('.info_box').remove();
});
我尝试过如下内容:
var mapRegion = document.querySelectorAll("#regions > *");
mapRegion.forEach(function(reg){
reg.addEventListener('mouseover', function(el){
var perif_data = this.data('region');
document.body.appendChild('<div class="info_box">' + region_data.region_name + '<br>' + '</div>');
});
reg.addEventListener('mousemove', function(e){
var mouseX = e.pageX;
var mouseY = e.pageY;
// Position of information box
document.querySelector('info_box').style.top = mouseY-50;
document.querySelector('info_box').style.css = mouseX+10;
});
reg.addEventListener('mouseleave', function(){
reg.classList.remove('.info_box');
});
});
但我正在使用控制台:
this.data 不是函数
document.querySelector(...) 为空
至尊宝的传说
慕虎7371278
智慧大石
相关分类