http://www.smallrain.net/javascript.asp?type=图形图像

解决方案 »

  1.   

    不能把这些图片的url放在一个数组里 
    然后在你的向右按钮里写一个事件使每个scr="<script> document.write"array[i]"</script>"
    里的i的值自动i=i+1 向左的按钮写i=i-1
    这样不可以么? 偶路过``不过感觉用marquee好象不太好整你说你的那个哟
      

  2.   

    我没做过,不过看你的描述,用ajax + css等,应该可以做到的
    大致思路:
    箭头onmouseover 触发函数,发送ajax请求接下来的5个图片的地址
    至于移动之类的,我想用javascript的层和css应该都可以做到吧(css不是很熟悉,不过javascript一定可以)如果没用过ajax可以用隐藏帧技术
      

  3.   

    楼主用过 www.live.com  微软的搜搜引擎没,细心点,你会发现它是滚动的,并且是平滑滚动。你所要求的东西估计只能xmlHTTP 来填充数据,效果除了JavaScript还能用啥?
      

  4.   

    谁能有实质性的帮助啊
    http://www.cnblogs.com/windyman/archive/2006/12/20/597677.html
      

  5.   

    http://www.pushu.net/ 觉得好就给分~~
      

  6.   

    我在怀疑:就凭asp.net+sql server+js能否实现这个功能。
    水平有限,实在无法办到。
    哪位高手能够实现,小弟感激不尽!!!
      

  7.   

    可以实现的,代码我没有时间帮你写了,原理很简单,关键也就是如果读到五个图片的路径点击事件触发,当然得用XMLHttpRequest向服务器读数据了(五条),关于如果读这五条,就看你的sql还有你的逻辑是怎么样的了,还有你的图片是怎么存储的,是把path存进sqlserver还是存binary的。应该可以更优化一步,可以分析得到,一般看图的话,不会点太多次,也就是说,一次将100个图片读出来放入js数组
    这100图为当前图的前后50(49)个偏移。这样可以提高速度。之后的操作也就是坐标的操作了
      

  8.   

    下面是代码片段,你自己把逻辑写完整试试吧。
    如果array下标越界,会自动填充g_errPsrc图片<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title> - http://www.never-online.net </title>
        <meta http-equiv="ImageToolbar" content="no" />
        <meta name="creator.name" content="never-online, BlueDestiny" />
        <style type="text/css" media="all" title="Default">    </style>
        <script type="text/javascript">
        //<![CDATA[
          // this is code fragment, good luck!      var g_aImage  = [];
          var g_prefix  = "img";
          var g_errPsrc = "err.jpg";
          var g_offset  = 5;      (function loadThisDefaults (a) { // load pic path to array
            for (var i=0; i<10; i++) {
              a[i]="http://zi.csdn.net/intel_120x60.gif";
            }
          })(g_aImage);      function loadImages() { // load pic to container
            for (var i=0; i<arguments.length; i++) {
              assignSrc(i+1, arguments[i]);
            };
            function assignSrc (idx, arrSub) {
              try {
                var r = document.getElementById;
                r(g_prefix+idx).src = !!g_aImage[arrSub]?g_aImage[arrSub]:g_errPsrc;
                r(g_prefix+idx).setAttribute("idx",arrSub); // find array sub with element attribute "idx"
              } catch (ex) { alert(ex.message); }
            };
          };      function thisClickEventHandler (sDir) { // event handler
            sDir = sDir.toLowerCase();
            if   (!!document.getElementById) { var r = document.getElementById; /* this assign only for IE */ } 
            else { throw new Error ("can not support DOM"); }        (function validateTheLocation (sDir) {
              // make sure the location is valid
              var isValided = true;
              var errMsg    = "";          if (isValided==false) {
              // if boolean variable is false, show ui dialog
                ui(errmsg, "dlg");
                return;
              }
            })(sDir);        function ui (msg, arg) {
            // dialog userinterface
              if (arg=="dlg") {
                window.alert(msg);
              } // else if...
            };        function getIdxByAttribute (vElementId) {
            // get idx by attrubite
              var retval=-1;
              try {
                retval = parseInt(r(vElementId).idx);
                alert(retval)
              } catch (ex) {};
              return retval;
            }
                    var cur_loc = -1;// current location flag
            var arg_arr = [];        if (sDir=="left") {
              cur_loc = getIdxByAttribute("img1");
              for (var i=g_offset; i>0; i--)
              arg_arr.push(cur_loc-i);
            } else if (sDir=="right") {
              cur_loc = getIdxByAttribute("img5");
              for (var i=1; i<=g_offset; i++)
              arg_arr.push(cur_loc+i);
            } else {
              throw new Error("arguments Error");
            }        //if (cur_loc<0) { throw new Error("sub Error"); }
            loadImages.apply(null, arg_arr);
          }      onload = function () {
            loadImages(0,1,2,3,4);
          }
        //]]>
        </script>
      </head>  <body id="www.never-online.net">
        <button onclick="thisClickEventHandler('left')">left</button>
        <img id="img1" src="">
        <img id="img2" src="">
        <img id="img3" src="">
        <img id="img4" src="">
        <img id="img5" src="">
        <button onclick="thisClickEventHandler('right')">right</button>
      </body>
    </html>
      

  9.   

    关于加滚动出来的动画,应该不难的,你加一个timeout或才interval判断相对坐标或偏移就可以了