Javascript .js文件正在加载但未执行
好的,这是我的问题。我从youtube上的一个教程中得到了一个图像滑块,我不得不对它进行一些更改,因为我正在使用angular并从数组中获取图像。如果我检查google chrome中的源代码,我的slider.js文件在那里,我的css等等,一切都会加载。。。但是滑块不起作用,它不会被激活是一种更好的方式:如果我将slider.js中的代码插入chrome控制台:点击enter->BOOOM可以完美地工作,我一直在寻找问题所在,尝试在脚本标记中添加type=“text/javascript”,添加(文档)。在我的jquery中准备就绪,仍然没有任何结果。。。我将添加一些代码,希望这里的任何人都能发现问题 slider.js文件Javascript .js文件正在加载但未执行,javascript,jquery,html,css,angularjs,Javascript,Jquery,Html,Css,Angularjs,好的,这是我的问题。我从youtube上的一个教程中得到了一个图像滑块,我不得不对它进行一些更改,因为我正在使用angular并从数组中获取图像。如果我检查google chrome中的源代码,我的slider.js文件在那里,我的css等等,一切都会加载。。。但是滑块不起作用,它不会被激活是一种更好的方式:如果我将slider.js中的代码插入chrome控制台:点击enter->BOOOM可以完美地工作,我一直在寻找问题所在,尝试在脚本标记中添加type=“text/javascript”,
'use strict';
$(document).ready(function() {
//settings for slider
var width = 320;
var animationSpeed = 1000;
var pause = 3000;
var currentSlide = 1;
//cache DOM elements
var $slider = $('.project-slider');
var $slideContainer = $('.slides', $slider);
var $slides = $('.slide', $slider);
var interval;
function startSlider() {
interval = setInterval(function() {
$slideContainer.animate({'margin-left': '-='+width}, animationSpeed, function() {
if (++currentSlide === $slides.length) {
currentSlide = 1;
$slideContainer.css('margin-left', 0);
}
});
}, pause);
}
function pauseSlider() {
clearInterval(interval);
}
$slideContainer
.on('mouseenter', pauseSlider)
.on('mouseleave', startSlider);
startSlider();
});
如果这是在角度,我会张贴您的相关控制器/指令代码。如果我是个赌徒,你的角度视图会在你的滑块脚本启动后加载。也许把这段代码放到你的控制器中(或者从控制器调用的服务中)会让它工作起来。你真是个天才,这么简单的解决方案!就像一个符咒,只是复制到指令控制器的代码。。。非常感谢你!
app.directive("projectGallery", function(){
return {
restrict: 'E',
templateUrl: "directives/project-gallery.html",
controller: function(){
this.current = 0;
this.setCurrent = function(val){
this.current = 0;
if(val)
this.current = val;
};
'use strict';
$(document).ready(function() {
//settings for slider
var width = 320;
var animationSpeed = 1000;
var pause = 3000;
var currentSlide = 1;
//cache DOM elements
var $slider = $('.project-slider');
var $slideContainer = $('.slides', $slider);
var $slides = $('.slide', $slider);
var interval;
function startSlider() {
interval = setInterval(function() {
$slideContainer.animate({'margin-left': '-='+width}, animationSpeed, function() {
if (++currentSlide === $slides.length) {
currentSlide = 1;
$slideContainer.css('margin-left', 0);
}
});
}, pause);
}
function pauseSlider() {
clearInterval(interval);
}
$slideContainer
.on('mouseenter', pauseSlider)
.on('mouseleave', startSlider);
startSlider();
});
},
controllerAs: 'gallery',
};
});