0

我正在尝试预加载 onClick 图像,并且该脚本在 Google Chrome (我想是 Safari)中除外......不知道发生了什么。有人有想法么?

<div style="display:hidden">
    <script type="text/javascript">
        <!--//--><![CDATA[//><!--
            var images = new Array()
            function preload() {
                for (i = 0; i < preload.arguments.length; i++) {
                    images[i] = new Image()
                    images[i].src = preload.arguments[i]
                }
            }
            preload(

            <?php
                for ($i = 0; $i < 6; $i++) {
                    if (!empty($imgs[$i])) {
                        $comma = $i == 0? '' : ',';
                        echo $comma."'http://www.htpcusa.com/drcom/ebay/image.php?img_source_url=" . $imgs[$i] . "&img_resize_to=500'";
                    }
                }
            ?>

            )
        //--><!]]>
    </script>
</div>

稍后将通过此代码调用图像。

        <?php
            for ($i = 0; $i < 6; $i++) {
                if (!empty($imgs[$i])) {
                    echo "<div class=\"htpc_picturebox\">";
                    echo "<img id=\"imgs$i\" src=\"http://www.htpcusa.com/drcom/ebay/image.php?img_source_url=" . $imgs[$i] . "&img_resize_to=157\" alt=\"\"";
                    echo " onClick=\"javascript:document.getElementById('detailed_image').src='http://www.htpcusa.com/drcom/ebay/image.php?img_source_url=" . $imgs[$i] . "&img_resize_to=500';\" />";
                    echo "</div>";
                }
            }
        ?>

那么 Chrome 没有做什么,IE 和 FF 都不能识别!?

4

2 回答 2

1

它的arguments.length而不是functionname.arguments.length
和数组语法是var images = []但除此之外它看起来像它的工作jsfiddle

于 2013-02-28T22:34:06.280 回答
-1

preload函数在定义中不接受任何参数,但您正在尝试发送参数。preload您可以通过 php 输出初始化images数组,而不是通过 php 输出向函数发送参数。例如;

<?
$i=0;
while (something) {
echo "images[{$i}] = {$img}";
$i++;
?>
于 2013-02-28T22:25:36.220 回答