为什么ShowViaLink()不能与Firefox或IE一起使用?

时间:2014-12-08 13:05:28

标签: javascript jquery html5 css3

我有这个简单的页面,导航不适用于Firefox或IE,仅适用于chrome。 我认为它与此有关,因为当我改变它时,它停止了在Firefox& IE:

// makes the navigation work after all containers have bee hidden 
        showViaLink($("aside button#navigation a"));

最初是这样的:

// makes the navigation work after all containers have bee hidden 
    showViaLink($("ul#navigation li a"));

但是,我不想使用ul li,我选错了吗?

1 个答案:

答案 0 :(得分:0)

使用此:

        <aside id="side">
            <div class="navigation"><a href="#home">Home</a> </div>
            <div class="navigation"><a href="#about"> About</a> </div>
            <div class="navigation"><a href="#contact"> Contact </a></div>
            <div class="navigation"><a href="#awards"> Awards </a></div>
            <div class="navigation"><a href="#links"> Links </a></div>
        </aside>

并改变这个:

showViaLink($("aside .navigation a"));

在您的旧代码中,您无法达到这种效果,因为您始终按下按钮,因此您从未触发$(this).click(function()

你只需要添加一些CSS并设置自己的按钮样式。 This generator可能会有所帮助。


编辑:

如果你想使用模具按钮,这可能有效:

<aside id="side">
  <div class="navigation" id="#home"><a href="#home">Home</a> </div>
  <div class="navigation" id="#about"><a href="#about"> About</a> </div>
  <div class="navigation" id="#contact"><a href="#contact"> Contact </a></div>
  <div class="navigation" id="#awards"><a href="#awards"> Awards </a></div>
  <div class="navigation" id="#links"><a href="#links"> Links </a></div>
</aside>

jQuery的:

showViaLink($("aside .navigation"));

// shows proper DIV depending on link 'href'
function showViaLink(array)
{
    array.each(function(i)
    {   
        $(this).click(function()
        {
            var target = $(this).attr("id");
            $(".container").css("display","none");
            $(target).slideDown("slow");
        });
    });
}