页脚上的 javascript 驱动的导航菜单

标签 javascript linker footer

标题上的导航菜单如下所示:

            <ul id="nav">
                <li id="home">
                   <a class="mainmenu" href="#">Link1</a>                    
                </li>

                <li>
                   <a class="mainmenu" href="#">Link2</a>                    
                </li>


            </ul>

相同的标记用于页 footer 分,但它不起作用。 我还有一个名为 jscript.js 的文件,其中包含该网站的所有 javascript, 我发现了这个变量:

 var navTarget = "ul#nav li a" //menu link to target 

此外,如果我删除页眉部分中的标记,页脚将起作用。 我也尝试过使用 .nav 而不是 #nav,我也遇到了同样的问题。

导航菜单是由javascript控制的,我不在这里发布代码,因为它太大了,为了更好地理解导航菜单是如何工作的,看here

我在 JavaScript 中找到了这个:

//设置菜单项ID

 $(navTarget).each(function(i){
    i++                     
    this.id = this.id +"_" +i ;
 });

//菜单点击功能

 $(navTarget).click(function() {

    //ensure link isnt clickable when active
    if ($(this).hasClass('active')) return false;

    //get id of clicked item
    activeNavItem = $(this).attr('id');

    //call the page switch function
    switchContent();



});

//内容切换功能

 var switchContent = function (){


        //set previous and next link & page ids
        var PrevLink = $(navTarget+'.active')
        $(PrevLink).removeClass('active');
        var PrevId = $(PrevLink).attr('id');
        //alert(PrevId)

        var NextLink = $('#'+activeNavItem).addClass('active');
        var NextId = activeNavItem
        //alert(NextId);

最佳答案

从表面上看,JS 代码使用了一些 CSS 选择器(如 jquery 的 $ 或 dojo 的 dojo.query),它根据 navTarget 的值拉入 DOM 元素目标,然后用它做一些事情:把它变成一个菜单。

但它只执行一次。

你需要看一下JS,看看哪里使用了navTarget。然后,让它在 $(navTarget) 的所有结果上创建菜单应该相当容易,而不仅仅是第一次点击。

此外,您的 dom 中应该只有一个 ID 实例。

您可以将其更改为类:

var navTarget = "ul.nav li a"

在标记中:

<div class='nav'>

但是您仍然需要查看 JS 并确保它针对 CSS 选择器返回的一组目标起作用。该代码可能只期望一个结果并仅使用它:results[0]

关于页脚上的 javascript 驱动的导航菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9088917/

相关文章:

javascript - ng-focus 不适用于 <button> 标签

javascript - 如何使用 res.writeHead(301, { "Location": "/path/within/site" })?) 在 http node.js 的 res.writehead 中附加警报消息

javascript - ExtJs - Javascript - 网格中的组合框(单元格编辑插件) - 网格/窗口后面的下拉列表

c - 变量定义应该在头文件中吗?

html - css margin : auto issue in footer

css-float - float 页脚始终位于底部并且可见

iphone - 我的页脚不会在 Iphone 或 Ipad 上水平填充页面

javascript - cordova inappBrowser 插件将用户名和密码传递给 URL

c - 找到起点,int main()

ios - Apple Mach-O 链接器错误。 ID : file not found. .. .app