2016-04-28 82 views
0

我的Javascript不会与我的HTML通信。我试图做一个scrollto函数,但它似乎是我的JavaScript和HTML之间的连接有问题。Javascript未加载

的Javascript:

$('a[href^="#"]').on('click', function(event) { 
    var target = $(this.href); 
    if(target.length) { 
     event.preventDefault(); 
     $('html, body').animate({ 
      scrollTop: target.offset().top 
     }, 10000); 
    } 
}); 

HTML:

<head> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
     <script src="parallax.js"></script> 
     <script type="text/javascript" src="scrollto.js"></script> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <link rel="icon" href="favicon.png" type="image/gif" sizes="16x16"> 
     <title></title> 
     <link href="style.css" rel="stylesheet" type="text/css"> 
     <link rel="stylesheet" type="text/css" media="screen" href="http://cdnjs.cloudflare.com/ajax/libs/fancybox/1.3.4/jquery.fancybox-1.3.4.css" /> 
</head> 

回答

5

因为你需要在身体标记结束时加载脚本scrollto,以确保DOM被加载。否则,你可以用你的代码

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

,或者使用某种版本

$(function() { 
    //your code here 
}); 
0

你可以试试这个:

$('body').on('click', 'a[href^="#"]', function (event) { 
    var target = $(this.href); 
    if(target.length) { 
    event.preventDefault(); 
    $('html, body').animate({ 
     scrollTop: target.offset().top 
    }, 10000); 
    } 
}); 

你可以用它在加载任何父选择替代体DOM。