Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery动态重新加载或切换外部js文件_Javascript_Jquery_External_Reload - Fatal编程技术网

Javascript 使用jQuery动态重新加载或切换外部js文件

Javascript 使用jQuery动态重新加载或切换外部js文件,javascript,jquery,external,reload,Javascript,Jquery,External,Reload,我有一个网页,我有一个外部js文件,动画一些div。我想在页面上放置一个按钮,从一开始就重新加载js文件,这样它可以停止函数并从头开始。 我尝试给脚本标记id“animation”,然后使用以下命令 $(document).ready(function() { $(".button").click(function() { $("#animation").attr('src','map.js'); }); } ); 不用说,这是行不通的。想知道如何正确地做到这一点 这确实不是一件

我有一个网页,我有一个外部js文件,动画一些div。我想在页面上放置一个按钮,从一开始就重新加载js文件,这样它可以停止函数并从头开始。 我尝试给脚本标记id“animation”,然后使用以下命令

$(document).ready(function() {

$(".button").click(function()
{

    $("#animation").attr('src','map.js');

});
}
);

不用说,这是行不通的。想知道如何正确地做到这一点

这确实不是一件好事情,制作一个启动和停止动画的函数要好得多。但如果你真的必须这样做:


这并不是一件好事,制作一个启动和停止动画的函数要好得多。但如果你真的必须这样做:


您是否尝试过使用
.load('map.js')?是的,但运气不好。这会不会只是加载两次,而不停止原始文件?您是否尝试过使用
.load('map.js')?是的,但运气不好。我明白了,这不只是加载两次,而不是停止原版吗。是的,我通常不会这样做,但页面有不同的动画,需要重新启动。特定div区域中的内容由不同的js文件控制,每个动画都需要有一个重新加载按钮,而不必重新加载页面的其余部分。$(document).ready(function(){count=0;$(.button”)。单击(function(){//显然,要针对特定脚本,只需更改此选择器$('map.js').each(function(){var js_src=$(this.attr('src');$(this.attr('src'),'');reload(this,js_src);});function reload(el,js_src){count++$(el.attr('src',js src+“?”+count);});谢谢你的帮助。我似乎无法让它工作。我想我并没有错误地关闭函数或在某个地方感到困惑。我想到了一个更好的方法,请参见上面编辑的答案。这样说似乎很简单。谢谢你,尼基。是的,我通常不会这样做,但页面有不同的动画,需要重新启动。特定div区域中的内容由不同的js文件控制,每个动画都需要有一个重新加载按钮,而不必重新加载页面的其余部分。$(document).ready(function(){count=0;$(.button”)。单击(function(){//显然,要针对特定脚本,只需更改此选择器$('map.js').each(function(){var js_src=$(this.attr('src');$(this.attr('src'),'');reload(this,js_src);});function reload(el,js_src){count++$(el.attr('src',js src+“?”+count);});谢谢你的帮助。我似乎无法让它工作。我想我并没有错误地关闭函数或在某个地方感到困惑。我想到了一个更好的方法,请参见上面编辑的答案。这样说似乎很简单。谢谢你,尼克
$(".button").click(function( e ) { 

    //change this to the id of your script
    $('#the_script').remove();

    var script = document.createElement('script');
    script.id = 'the_script';
    //the script's source here
    script.src = 'test_js.js';
    script.type ='text/javascript';
    document.getElementsByTagName('head')[0].appendChild(script);

});