图片的地址保留在变量里,显示的时候再付给img对象,这样是不会全部下载的

解决方案 »

  1.   

    楼上的,您能把代码贴出来好吗?结合ASP或PHP都行。
    这是我的代码,还没调试好,结合PHP的。<?php include_once("config.inc.php");?>
    <HTML><HEAD><TITLE>季候风杂志演试</TITLE>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <STYLE type=text/css>BODY {
    BACKGROUND-IMAGE: url(bg.gif); MARGIN: 0px; BACKGROUND-REPEAT: no-repeat
    }
    </STYLE>
    <META content="MSHTML 6.00.2800.1506" name=GENERATOR></HEAD>
    <BODY leftMargin=0 topMargin=0 marginheight="0" marginwidth="0">
    <?php
    $page=trim($_GET['page']);
    if (is_numeric($_GET['page'])) {
    $page=trim($_GET['page']);
    } else {
    $page=1;
    }
    $sql="select count(*) as amount from magazine";
    $result=mysql_query($sql) or die ("Invalid query:".mysql_error());
    $row=mysql_fetch_array($result);
    $amount=$row['amount'];
    $sql="select * from magazine order by id asc limit ".($page-1).",2";
    $result=mysql_query($sql) or die ("Invalid query:".mysql_error());
    while ($row=mysql_fetch_array($result)) {
    $pid=$row['id'];
    $id="d".$row['id'];
    ?>
    <DIV id=<?php echo $id;?> 
    style=<?php echo "\"".$row['style']."\"";?>><A 
    href="javascript:<?php echo $row['link'];?>(<?php echo "'".$row['id']."'";?>,<?php echo $amount;?>);" onContextMenu="window.open(<?php echo "'".$row['bimage']."'";?>,'newwindow','height=750, width=1020, top=0, left=0,toolbar=no, menubar=no, scrollbars=yes, resizable=no,location=n o, status=no');return false;"><IMG height=642 src=<?php echo "\"".$row['simage']."\"";?>
    width="100%" border=0></A></DIV>
    <?php
    }
    ?>
    <SCRIPT language=JavaScript type=text/JavaScript>
    var count=<?php echo $amount;?>;
    var currentTime = 0 ;
    var z = 0 ;
    var w = 500;
    var l = 1;
    var divs = new Array();SetDivs();
    HideAll();
    document.all("d1").style.display="";
    document.all("d2").style.display="";
    function SetDivs()//把层的ID添加到一个数组里面,以便控制,见后面HideALL()
    {
    for(i=1;i<=2;i++)
    {
    divs.push("d"+<?php echo ($pid-1);?>);
    }
    }
    function nextPage(id,t)//下一页的逻辑控制,
    {
    z++;
    if(id<t)
    {
    ShowNext(parseInt(id)+2);
    }
    else
    {
    alert("last");
    }
    }
    function prevPage(id)//上一页的逻辑控制
    {
    z++;
    if(id>1)
    {
    ShowPre(parseInt(id)-2);
    }
    else
    {
    alert("frist");
    }
    }
    function show(id)//显示一个层
    {
    document.all(divs[id-1]).style.display = "";
    }
    function ShowPre(id)//上一页,先翻左边再翻右边
    {
    //divs[id-1]显示
    //divs[id+1]隐藏
    //divs[id]显示
    //divs[id+2]隐藏
    document.all(divs[id-1]).style.display = "";
    document.all(divs[id+1]).style.zIndex = z;
    var g = 1.2;
    var s = 10*g*currentTime*currentTime*currentTime ;
    if ( s < 100 )//显示层
    {
    document.all(divs[id+1]).style.width = Math.ceil(w*(100-s)/100) ;
    document.all(divs[id+1]).style.left = Math.ceil( l + w*s/100 ) ;
    //document.all(divs[id-1]).style.width = w*s/100;
    currentTime++ ;
    setTimeout( "ShowPre("+id+");" , 10 );
    }
    else
    {
    document.all(divs[id+1]).style.display = "none";
    currentTime = 0;
    ShowPre2(id);
    }
    }
    function ShowPre2(id)//上一页
    {
    document.all(divs[id]).style.display = "";
    var g = 1.2;
    var s = 10*g*currentTime*currentTime*currentTime ;
    if ( s < 100 )//显示层
    {
    document.all(divs[id]).style.width = w*s/100;
    currentTime++ ;
    setTimeout( "ShowPre2("+id+");" , 10 );
    }
    else
    {
    document.all(divs[id]).style.width = w;
    document.all(divs[id+2]).style.display = "";
    currentTime = 0;
    }
    }
    function ShowNext(id)//下一页
    {
    //divs[id-1]显示
    //divs[id-3]隐藏
    //divs[id-2]显示
    //divs[id-4]隐藏
    document.all(divs[id-1]).style.display = "";
    var g = 1.2;
    var s = 10*g*currentTime*currentTime*currentTime ;
    if ( s < 100 )//显示层
    {
    document.all(divs[id-3]).style.width = w*(100-s*1)/100  ;
    currentTime++ ;
    setTimeout( "ShowNext("+id+");" , 10 );
    }
    else
    {
    document.all(divs[id-3]).style.width = 0 ;
    document.all(divs[id-3]).style.display = "none";
    document.all(divs[id-2]).style.display = "";
    document.all(divs[id-2]).style.zIndex = z
    currentTime = 0;
    ShowNext2(id);
    }
    }
    function ShowNext2(id)
    {
    //divs[id-1]显示
    //divs[id-3]隐藏
    //divs[id-2]显示
    //divs[id-4]隐藏
    var g = 1.2;
    var s = 10*g*currentTime*currentTime*currentTime ;
    if ( s < 100 )//显示层
    {
    document.all(divs[id-2]).style.width = w*s/100 ;
    document.all(divs[id-2]).style.left = Math.ceil( l + w - w*s/100 ) ;
    currentTime++ ;
    setTimeout( "ShowNext2("+id+");" , 10 );
    }
    else
    {
    document.all(divs[id-2]).style.width = w ;
    document.all(divs[id-2]).style.left = l;
    document.all(divs[id-4]).style.display = "none";
    currentTime = 0;
    }
    }
    function HideAll()//隐藏所有层
    {
    for(i=0;i<divs.length;i++)
    {
    document.all(divs[i]).style.display= "none";
    }

    </SCRIPT>
    </BODY></HTML>
      

  2.   

    specialjuly (七月的鹰) ,
    我覺得用ASP 或 PHP來提交請求﹐每次只給兩個圖片這樣方法可以解決你說的問題
      

  3.   

    光觉得不行呀。我也觉得可以实现。可我搞一个星期了,还是没头绪。我对JAVASCRIPT不熟。
      

  4.   

    你*丫*地又跑这里来问了...我说了,用
    var img1 = new Image();
    img1.src = "aa.gif";
    这样的办法就是预载入图片,这img1有一个属性fileSize,当它的值还是-1的时候,那就是它还没下载完或是找不到图片的结果,其它的,你自己摆平....只要这样,你的图片会自己下载,下载完后也就是fileSize不等于-1之后,你可以想办法置换图片或是直接给别一个IMG的SRC赋给此img1.src的值,因为这图片己经下载了,不会再次下载...
      

  5.   

    CSDN的高手在哪里呀?难道这个问题就那么难吗?
      

  6.   

    net_lover(孟子E章) 讲的很清楚了,不是问题难,是你的学习心态不积极!