我是javascript的新手,我会用这个对象停止所有这些函数,我尝试但是没有工作从不使用setTimeout和数组的mechi:
使用Javascript:
setTimeout(function() {
var groupSvg = [svgManos, svgSuper, svgInnovation, svgEstatua, svgBrain, svgBalanza];
groupSvg.stop();
}, 100);
我想在100毫秒后停止所有这些变量。
答案 0 :(得分:0)
如果每个项目都有停止方法,则需要在每个项目上旋转并调用停止,类似于:
// Dummy object for testing sake
var svgObject = function() {
this.stop = function() { console.log("Stopping " + this); }
return this;
};
// create dummy objects based on the base object
var svgManos = new svgObject(),
svgSuper = new svgObject(),
svgInnovation = new svgObject(),
svgEstatua = new svgObject(),
svgBrain = new svgObject(),
svgBalanza = new svgObject();
setTimeout(function(){
var groupSvg = [svgManos, svgSuper, svgInnovation, svgEstatua, svgBrain, svgBalanza];
// loop through the groupSvg array
for(var svg in groupSvg){
// do something to the current object from the array
groupSvg[svg].stop();
}
}, 100);
答案 1 :(得分:0)
如果这些是数组中的元素,并且它是您正在使用的jQuery stop
方法,则应该从数组创建一个jQuery对象,通过一次调用对所有元素运行该方法:
setTimeout(function() {
var groupSvg = [svgManos, svgSuper, svgInnovation, svgEstatua, svgBrain, svgBalanza];
$(groupSvg).stop();
}, 100);
答案 2 :(得分:0)
我认为你有几个问题:
声明这个“后来的”功能:
Object.prototype.later = function (msec, method){
var arrs = new Array();
var that=this //keep this in inner func
var args =
Array.prototype.slice.apply(arguments,[2]);
if (typeof method === 'string'){
method = that[method];
}
setTimeout(function (){
method.apply(that,args);
},msec);
};
//来源:来自“道格拉斯·克罗克福德JavascriptMaster课程
”然后使用上面发布的@ mori57循环
for(var svg in groupSvg){
groupSvg[svg].later(100,"stop");
}