首次加载我的页面并不是很有效

时间:2013-05-07 15:35:58

标签: javascript jquery loading

我对jQuery和javascript有点新,昨天刚刚实现了一个新代码来处理菜单周围的一些样式。当主页加载时,虽然它正在做某事,但它并不能正常工作。当我导航到另一个页面然后回来时,它工作正常。这是第一次给我带来悲伤的负担。任何人都可以帮我弄清楚我的代码有什么问题吗?

这是我的代码:

$(function(){ 
  var url = window.location.pathname,  
      urlRegExp = new RegExp(url.replace(/\/$/,'') + "$");
    $('.nav ul li a').each(function(){  
        if(urlRegExp.test(this.href.replace(/\/$/,''))){        
        $(this).attr('id', 'selected'); 
        } 
  });
    $(function() {
        if (url === "/index.html" || url === "/") {
        $('.nav').attr('id','homenav');
        }
  });
});

2 个答案:

答案 0 :(得分:1)

如果问题只是当//index.html页面相同时,为什么不在检查前制作/ /index.html ..就像这样:

$(function(){ 
    var url = window.location.pathname;
    if(url == '/')
    {
        url = '/index.html'; 
    }
    var urlRegExp = new RegExp(url.replace(/\/$/,'') + "$");
    $('.nav ul li a').each(function(){  
        if(urlRegExp.test(this.href.replace(/\/$/,''))){        
            $(this).attr('id', 'selected'); 
        } 
    });

    $(function() {
        if (url === "/index.html") {
            $('.nav').attr('id','homenav');
        }
    });
});

答案 1 :(得分:0)

你必须将你的javascript包装在其中:

$(document).ready(function(){
   $(function(){ 
  var url = window.location.pathname,  
      urlRegExp = new RegExp(url.replace(/\/$/,'') + "$");
    $('.nav ul li a').each(function(){  
        if(urlRegExp.test(this.href.replace(/\/$/,''))){        
        $(this).attr('id', 'selected'); 
        } 
  });
    $(function() {
        if (url === "/index.html" || url === "/") {
        $('.nav').attr('id','homenav');
        }
  });
});
});

我想。

那是所有人