Javascript 如何使下拉jQuery工作?

Javascript 如何使下拉jQuery工作?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个下拉菜单,当我测试它时,它在JSFIDLE中工作,但当我将它运行到测试服务器时,它的工作方式与它应该的工作方式不同 jsFiddle: HTML Javascript img_arrow = '<img src="images/down-arrow.png" width="20" height="20"/>'; $(function () { var $window = $(window), $nav = $('nav'), $button = $('bu

我有一个下拉菜单,当我测试它时,它在JSFIDLE中工作,但当我将它运行到测试服务器时,它的工作方式与它应该的工作方式不同

jsFiddle:

HTML

Javascript

img_arrow = '<img src="images/down-arrow.png" width="20" height="20"/>';

$(function ()
{
var $window = $(window),
    $nav = $('nav'),
    $button = $('button');

$button.on('click', function ()
{
    $nav.slideToggle();
});

$window.on('resize', function ()
{
    if ($window.width() > 320)
    {
        $nav.show();
    }
});
});
$('#menu a').click(function(e){

$('button').html($(this).html() + img_arrow);

e.preventDefault();
});
这是我的测试页面:


不知道为什么它不能在我的测试页面上工作。它应该像JSFIDLE中的一样工作。fiddle中的代码正是我在测试链接中使用的代码。

您正在页面加载期间而不是之后运行click处理程序$函数{}是$document.ready的简写形式。要解决单击问题,请将单击处理程序分配移动到onDOMReady调用内部:


它只在我的浏览器上工作。。我用的chromeIt在我的浏览器Chrome上运行良好。我用的是Chrome,但它不工作。jfiddle和testpage都显示相同的结果。当我点击按钮时,在一条水平线上会出现一堆链接。当我再次点击按钮时,链接消失了。这是你期望的吗?我猜不是因为下拉列表应该垂直列出项目。下拉列表是否应该由CSS格式化?如果是这样,就不会链接css。测试页面上的一个ModuleStyleSheets.css抛出了一个404。您已经重新发布了两次该问题。编辑你的最后一个问题,而不是发布另一个问题。Jared的可能副本你就是那个人!这解决了问题。谢谢大家!!我的html中有2个标记,它指向另一个按钮。如何仅针对1个id/级别为按钮\u 01的按钮?
img_arrow = '<img src="images/down-arrow.png" width="20" height="20"/>';

$(function ()
{
var $window = $(window),
    $nav = $('nav'),
    $button = $('button');

$button.on('click', function ()
{
    $nav.slideToggle();
});

$window.on('resize', function ()
{
    if ($window.width() > 320)
    {
        $nav.show();
    }
});
});
$('#menu a').click(function(e){

$('button').html($(this).html() + img_arrow);

e.preventDefault();
});
$(function (){
    var $window = $(window),
        $nav = $('nav'),
        $button = $('button');

    $button.on('click', function (){
        $nav.slideToggle();
    });

    $window.on('resize', function (){
        if ($window.width() > 320){
            $nav.show();
        }
    });

    $('#menu a').click(function(e){
        $('button').html($(this).html() + img_arrow);

        e.preventDefault();
    });
});