Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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
Php 为什么我的jquery/javascript不工作?_Php_Javascript_Jquery_Html - Fatal编程技术网

Php 为什么我的jquery/javascript不工作?

Php 为什么我的jquery/javascript不工作?,php,javascript,jquery,html,Php,Javascript,Jquery,Html,所以我让这个javascript/jquery在显示swf文件之前做一个延迟,但它不工作,当我说不工作时,我的意思是它什么都不做 以下是脚本: <script src="http://code.jquery.com/jquery-1.8.0.min.js" ></script> <link href="http://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet"

所以我让这个javascript/jquery在显示swf文件之前做一个延迟,但它不工作,当我说不工作时,我的意思是它什么都不做

以下是脚本:

        <script src="http://code.jquery.com/jquery-1.8.0.min.js" ></script>
        <link href="http://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet" type="text/css" >

<script>
function Func1()
{
$('#stage').html("<OBJECT style="z-index:2; position:absolute; top:20%; left:44%;" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="320" HEIGHT="240" id="rice" ALIGN="">
<PARAM NAME=movie VALUE="rice.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#333399> <EMBED src="rice.swf" quality=high bgcolor=#333399 WIDTH="320" HEIGHT="240" NAME="rice" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED> </OBJECT>");
}

function Func1Delay()
{
setTimeout("Func1()", 10000);
}

</script>
下面是我调用函数的方式:

<body onload="Func1Delay()" >
它似乎什么都没做。。。提前感谢。

更改:

setTimeout("Func1()", 10000);
致:

您必须转义object标记中的,否则会出现语法错误

$('#stage').html("<OBJECT style=\"z-index:2; position:absolute; top:20%; left:44%;\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" WIDTH=\"320\" HEIGHT=\"240\" id=\"rice\" ALIGN=\"\">
<PARAM NAME=movie VALUE=\"rice.swf\"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#333399> <EMBED src=\"rice.swf\" quality=high bgcolor=#333399 WIDTH=\"320\" HEIGHT=\"240\" NAME=\"rice\" ALIGN=\"\" TYPE=\"application/x-shockwave-flash\" PLUGINSPAGE=\"http://www.macromedia.com/go/getflashplayer\"></EMBED> </OBJECT>");

另外,根据使用fot setTimeout的字符串代码,不建议使用。使用setTimeOutpunc1,10000;相反。

onload属性是在运行时执行JavaScript的一种非常过时的方法,特别是当您使用jQuery时

$().ready({ function(){
    // set you timeout here
});
此外,您的JavaScript充满了错误。您需要在试图嵌入的HTML中转义引号。现在的文本只是在字符串之间浮动,所以这肯定会引发一些语法错误

$('#stage').html("<OBJECT style=\"z-index:2; position:absolute; top:20%; left:44%;\" // and so on.
此外,我认为setTimeout的语法在代码中也是错误的。

确保脚本标记具有“类型”,并对HTML代码使用单引号:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js" ></script>
<link href="http://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet" type="text/css" >
<script type="text/javascript">
    // Do 'onload' here:
    $(document).ready(function() {
        Func1Delay();
    });

    function Func1() {
        $('#stage').html('<OBJECT style="z-index:2; position:absolute; top:20%; left:44%;" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="320" HEIGHT="240" id="rice" ALIGN=""><PARAM NAME=movie VALUE="rice.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#333399> <EMBED src="rice.swf" quality=high bgcolor=#333399 WIDTH="320" HEIGHT="240" NAME="rice" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED> </OBJECT>');
    }

    function Func1Delay() {
        setTimeout(Func1, 10000);
    }
</script>

真正地删除引号,然后是的,好的。它仍然会像他最初做的那样工作。cmon伙计们,这显然是一个打字错误。你的双引号都不匹配。此外,Func1应该是Func1将html中的第一个和最后一个更改为“-您正在使用style=关闭字符串,您是否尝试过使用c/p?或者更好的做法是,在.html函数中使用单引号而不是双引号来包围字符串。此外,将“type”与脚本标记一起放入:@snowsheckle,这取决于您对HTML语法的理解程度。@这取决于您是否在使用HTML5,因为在HTML5中,“类型”属性是可选的。@Casey,我指的是将对象标记周围的双引号改为单引号,而不是HTML中的双引号。
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js" ></script>
<link href="http://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet" type="text/css" >
<script type="text/javascript">
    // Do 'onload' here:
    $(document).ready(function() {
        Func1Delay();
    });

    function Func1() {
        $('#stage').html('<OBJECT style="z-index:2; position:absolute; top:20%; left:44%;" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="320" HEIGHT="240" id="rice" ALIGN=""><PARAM NAME=movie VALUE="rice.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#333399> <EMBED src="rice.swf" quality=high bgcolor=#333399 WIDTH="320" HEIGHT="240" NAME="rice" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED> </OBJECT>');
    }

    function Func1Delay() {
        setTimeout(Func1, 10000);
    }
</script>