Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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 只有当其他函数完全启动时,我如何才能让函数启动?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 只有当其他函数完全启动时,我如何才能让函数启动?

Javascript 只有当其他函数完全启动时,我如何才能让函数启动?,javascript,jquery,html,Javascript,Jquery,Html,我有个问题。我有一张全屏(不是背景!只在我的onepage网站上做介绍。)图片幻灯片。(使用backstretch创建,真正的jQuery代码在另一个.js文件中。)您将在下面的代码中看到它。现在我有一个问题。我把文本放在它的中间,它的循环持续时间是相同的,所以它和文本同时改变图像。但是当我将网页上传到服务器时,图像的加载速度比文本慢。结果是,文本循环在图像滑块之前开始。我可以做一个函数,使文本仅在图像循环开始时才开始循环吗?我已经尝试过“卸载”功能,但是图像速度比文本快。(当我打开网站时,也可

我有个问题。我有一张全屏(不是背景!只在我的onepage网站上做介绍。)图片幻灯片。(使用backstretch创建,真正的jQuery代码在另一个.js文件中。)您将在下面的代码中看到它。现在我有一个问题。我把文本放在它的中间,它的循环持续时间是相同的,所以它和文本同时改变图像。但是当我将网页上传到服务器时,图像的加载速度比文本慢。结果是,文本循环在图像滑块之前开始。我可以做一个函数,使文本仅在图像循环开始时才开始循环吗?我已经尝试过“卸载”功能,但是图像速度比文本快。(当我打开网站时,也可以包括一个加载轮,这样整个网站都可以加载..如果你不明白我的意思,请告诉我)


美元后推([
“images/myimage1.png”,
“images/myimage2.png”,
“images/myimage3.png”,
“images/myimage4.png”
], {
衰减:750,//衰减速度
持续时间:5000//图像显示时间
});
$(函数(){
var messages=[],
指数=0;
messages.push('message1');
messages.push('message2');
messages.push('message3');
功能循环(){
$('#some id').html(消息[索引]);
索引++;
if(index==messages.length){
指数=0;
}
设置超时(周期,5750);
}
循环();
});

查看backstretch文档,我会使用和/或方法


查看backstretch文档,我会使用和/或方法


使用属性complete和naturalWidth检查图像是否已加载

这很简单。检查是否完整且自然宽度>0:图像正常

function IsImageOk(img) {

   if (!img.complete) {
      return false;
   }

   if (typeof img.naturalWidth !== "undefined" && img.naturalWidth === 0) {
      return false;
   }

   return true;
}

阅读更多信息:

使用属性complete和naturalWidth检查图像是否加载

这很简单。检查是否完整且自然宽度>0:图像正常

function IsImageOk(img) {

   if (!img.complete) {
      return false;
   }

   if (typeof img.naturalWidth !== "undefined" && img.naturalWidth === 0) {
      return false;
   }

   return true;
}
请在此处阅读更多内容:

正如MazzCris所说(但如果您需要,我将提供澄清),使用而不是
设置超时(cycle,5750)

守则是:

var messages = [],
    index = 0;

messages.push('Message 1');
messages.push('Message 2');
messages.push('Message 3');

function cycle() {
    $('#some-id').html(messages[index]);
    index++;

    if (index === messages.length) {
       index = 0;
    }
}

$(window).on("backstretch.after", function (e, instance, index) {
    cycle();
});
如果您想将
cycle()
保留为可调用函数,即

旁注:您可以使用
messages
数组中的值来定义
数组,而不必使用
messages.push,除非出于某种原因您想这样做

如果您碰巧是这样做的,您可以将其更改为:

var messages = ['Message 1', 'Message 2', 'Message 3'],
    index = 0;
正如MazzCris所说(但如果您需要的话,我将提供澄清),使用而不是
setTimeout(cycle,5750)

守则是:

var messages = [],
    index = 0;

messages.push('Message 1');
messages.push('Message 2');
messages.push('Message 3');

function cycle() {
    $('#some-id').html(messages[index]);
    index++;

    if (index === messages.length) {
       index = 0;
    }
}

$(window).on("backstretch.after", function (e, instance, index) {
    cycle();
});
如果您想将
cycle()
保留为可调用函数,即

旁注:您可以使用
messages
数组中的值来定义
数组,而不必使用
messages.push,除非出于某种原因您想这样做

如果您碰巧是这样做的,您可以将其更改为:

var messages = ['Message 1', 'Message 2', 'Message 3'],
    index = 0;

警报(消息[索引])显示什么?我必须将警报放在哪里?因为如果我这样做,就不会弹出警报。警报(消息[index])显示什么?我必须将警报放在哪里?因为如果我这样做,就不会出现警报。@heyho你确定这是因为行动吗?你说它消失是什么意思?它又出现又消失了吗?@嘿,你确定是因为这个动作吗?你说它消失是什么意思?它又出现又消失了吗?