2014-10-09 37 views
0

我发现onclick示例here。我做了页面上给出的所有内容,但我不知道发生了什么问题/正在进行。使用JavaScript错误的Onclick方法

我做了什么给那里,当我创建一个新的页面,它不工作。出了什么问题?

JSFiddle

HTML

<div id="leftmenu"> 
    <ul id="leftmenuidfrmslt" style="vertical-align: middle;"> 
    <a href="" onclick="mob();"><li><span class="flaticon-smart"> 
    </ul> 
</div> 

的JavaScript

function mob() { 
    hidemenus(); 
    document.getElementById('mobi').style.display = "block"; 
} 

function hidemenus() { 
    document.getElementById('mobi').style.display = "none"; 
} 

ONCLICK显示菜单

<div id="mobi" style="display:none;z-index:99;" class="answer_list" > 
    <p class="flaticon-right127"><a href="#">Mobile&nbsp;Phones</a> 
    <p class="flaticon-right127"><a href="#">Tablets</a></p> 
    <p class="flaticon-right127"><a href="#">Mobile&nbsp;Accessories</a></p> 
</div> 
+0

我完整的代码http://jsfiddle.net/sanoj908572/u2kxu2hz/4/ – 2014-10-09 19:23:09

+0

你有一个语法错误。乍一看,你永远不会关闭'hidemenus'功能。 – David 2014-10-09 19:26:55

+0

对于初学者,'hidemenus'函数没有用'}'关闭。请检查您的控制台是否有错误报告。(在Chrome中:右键单击>检查元素>底部窗口中的控制台选项卡)。此外,你'hidemenus'并直接显示它们(第二行)。 – 2014-10-09 19:27:14

回答

0

快速浏览一下你的代码,你试图通过ID'mobi'找到一个元素,但是没有元素在你提供的jsfiddle中有这个ID。

所以该函数不会做任何事情,因为它找不到可以应用更改/操作的元素。

我尝试了其他一些id:'elec','vehi',并找不到具有这些ID的元素。

+0

所以我需要做的 – 2014-10-09 19:33:41

+0

从W3的例子:http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_doc_getelementbyid – 2014-10-09 19:35:24

+0

检查我的小提琴我已经添加仍然不工作http:// jsfiddle .net/sanoj908572/u2kxu2hz/4/ – 2014-10-09 19:37:57

0

尝试是这样的,使其更简单:

var allIds = ['mobi','elec','vehi','home','pets','book','clot','kids','spor','serv','jobs','real']; 

function hideAll() { 
    for(id in allIds) { 
     document.getElementById(id).style.display = "none"; 
    } 
} 

function showMenu(idToShow) { 
    hideAll(); 
    document.getElementById(idToShow).style.display = "block"; 
} 

在你的HTML你现在可以:

<a href="" onclick="showMenu('elec');"></a> 

而且,代码语中指出,要显示的元素应该有ID:

<div id="elec"></div> 
+0

我在点击前得到结果 – 2014-10-09 19:43:20

+0

我不确定你的意思。 – 2014-10-09 21:09:16

相关问题