0

I am having trouble using some javascript that I am trying to convert from inline to an external javascript document. This code, that I'm trying to place externally does not work.

// JavaScript Document
function homepage() {
    $("#button").click(function(){
        $("#main, #nav").slideToggle();
        if($(this).html() == "-"){
            $(this).html("+");
            setTimeout(function() {
                $('#wrapper').css('top', 'auto');
                $('#wrapper').animate({ 'bottom': '0' }, 500);
            }, 500);
        } else {
            $(this).html("-");
            setTimeout(function() {
                $('#wrapper').animate({ 'top': '0' }, 500);
                $('#wrapper').css('bottom', 'auto');
            }, 500);
        }
    });
}
4

3 回答 3

1

尝试锁定脚本,以便:

$(document).ready(function(){
  // JavaScript Document
  function homepage() {
  $("#button").click(function(){
  $("#main, #nav").slideToggle();
  if($(this).html() == "-"){
      $(this).html("+");
      setTimeout(function() {
        $('#wrapper').css('top', 'auto');
        $('#wrapper').animate({ 'bottom': '0' }, 500);
      }, 500);
  }
  else{
      $(this).html("-");

      setTimeout(function() {
          $('#wrapper').animate({ 'top': '0' }, 500);
          $('#wrapper').css('bottom', 'auto');
      }, 500);
  }
  });}

});
于 2013-06-14T15:18:39.763 回答
0

您的代码让我假设您正在使用 jQuery。要将使用 jQuery 等库的 JS 文件移动到外部文件,您必须执行以下步骤:

如果代码在 jQuery 中并且看起来像这样:

$(document).ready(function(){
    // here is all your code
});

然后您必须将所有内容(包括该$(document).ready();部分)移到外部文件中,并(最好)将其加载到 html 页面的底部。

于 2013-06-14T15:31:27.977 回答
0

我认为它“不起作用”是因为您的 jQuery 选择器失败了。将您的代码放入$(function () {...})其中以确保它可以在 DOM 就绪上运行。

于 2013-06-14T15:16:48.090 回答