Javascript 通过访问DOM添加功能
我正在尝试使用Javascript 通过访问DOM添加功能,javascript,dom,Javascript,Dom,我正在尝试使用JavaScript向HTML页面添加mouseOver和Click函数。我有一个不可触摸的html和CSS文件,但是JavaScript文件将使用mouseOver在右侧创建下拉菜单,单击功能将添加到“喜欢”和“隐藏”链接,这些链接将更改为“不喜欢”,而“隐藏”按钮将隐藏消息框。而“刷新”会得到一个“onClick”按钮,该按钮用于向页面添加新的消息框,这些消息框存储在一个数组中,该数组由initialize函数、右侧菜单的功能、“Like”和“Hide”链接以及“Refresh
JavaScript
向HTML
页面添加mouseOver
和Click
函数。我有一个不可触摸的html
和CSS
文件,但是JavaScript
文件将使用mouseOver
在右侧创建下拉菜单,单击功能将添加到“喜欢”和“隐藏”链接,这些链接将更改为“不喜欢”,而“隐藏”按钮将隐藏消息框。而“刷新”会得到一个“onClick”按钮,该按钮用于向页面添加新的消息框,这些消息框存储在一个数组中,该数组由initialize函数、右侧菜单的功能、“Like”和“Hide”链接以及“Refresh”按钮组成
我无法将4个.png
文件附加到JSFIDLE。在“朋友”面板旁边的空间中,它们应该从1到4改变。参见代码
由于某些原因,该下拉菜单没有显示在JSFIDLE上,它可以在FireFox中查看
function initialise(){
var msgs = new Array();
msgS = [
{title: 'Bob',
img: 'bob.png',
username:'Bob',
userid: '@bob',
msgtext: "Still waiting for a reply... What's the plan?"
},
{title: 'Kurt',
img: 'kvj.png',
username:'Kurt',
userid: '@kvj',
msgtext: "So it goes..."
},
{title: 'Robot',
img: 'robot.png',
username:'Robot',
userid: '@robot',
msgtext: "Don't worry... found some."
}];
preloadHideDropDownMenu();
menuDropDownMouseOver();
preloadRotate();
var picture=0;//to be used with circulate
setTimeout('circulate(picture)',3000);
preloadLikeFunction();
preloadHideFunction();
preloadRefreshLink();
}
当页面加载并设置鼠标盖、单击函数以及保存在单击刷新按钮时加载的新消息框的数组时,将执行此函数。始终检查控制台中的Javascript错误。您至少有一个错误与此有关:
function preloadHideDropDownMenu(){
var first=document.getElementById("navigate");
var Array menu=new Array(); <-- There is no explicit object typing in JS
menu=first.childNodes;
for(var i=0; i<menu.length; i++){
var nextArray=new Array();
nextArray=menu[i].childNodes;
for(var j=0; j<nextArray.length; j++){
if(nextArray[j].className=="item"){
nextArray[j].style.visibility="hidden";
}}}}
不能在Javascript中键入参数,也不能给它们默认值
您应该在JSFIDLE中查看JSHint按钮。当你点击这个按钮时,它会在错误或写JS的最佳实践建议旁边加上一个小红点。修复这些问题解决了你的问题,还是仍然有问题?
function preloadHideDropDownMenu(){
var first=document.getElementById("navigate");
var Array menu=new Array(); <-- There is no explicit object typing in JS
menu=first.childNodes;
for(var i=0; i<menu.length; i++){
var nextArray=new Array();
nextArray=menu[i].childNodes;
for(var j=0; j<nextArray.length; j++){
if(nextArray[j].className=="item"){
nextArray[j].style.visibility="hidden";
}}}}
function menuVisible(var dropdown=0){