解决方案 »

  1.   

    $img.load(function(){
    var ww=$img.width();
        var hh=$img.height();这里重新获取一些$img对象试试看。如果你只是使用以前的对象的话,有些信息就是固定的,当页面上的信息改动时,这个对象里面的信息时不变的。所以当load成功后,再去重新获取一下这个对象。试试呗,我是没有测试的~~
      

  2.   

    做了一个测试,可能与你的设想不同
    但图片加载还是必须独立完成的,你参考一下<script src="jquery-1.8.3.min.js" type="text/javascript"></script>
    <script>
    $(function(){
      var currentPosition = 0;
      var arr = [
        "http://avatar.csdn.net/6/1/2/1_xiyaopo01.jpg",
        "http://material.mediav.com/galileo/20140730/98a353ab8ed02fd2de0712a08db7cda1.jpg",
        "http://material.mediav.com/galileo/20140730/605cc193adc144a57851cff365f8eaab.jpg",
        "http://avatar.csdn.net/6/1/2/1_xiyaopo01.jpg",
        "http://material.mediav.com/galileo/20140730/98a353ab8ed02fd2de0712a08db7cda1.jpg",
        "http://material.mediav.com/galileo/20140730/605cc193adc144a57851cff365f8eaab.jpg"
      ];  function imgload(target) {
        $('<img>').attr('src', arr[currentPosition]+'?'+Math.random()).load(function() {
          var w = this.width;
          var h = this.height;
          $('#a').html(w + ' x ' + h);
          var p = { "width" : w };
          if(w > h) p = { "width" : 150 };
          if(w > h) p = { "height" : 150 };
          $(target).attr('src', $(this).attr('src')).attr(p);
        });
        currentPosition = (currentPosition + 1) % arr.length;
      }
      $('#b').click(function() {
        imgload('#im');
      });
      imgload('#im');
    });
    </script>
    </head>
    <body>
    <div id="slidesContainer">
    <div id="a"></div>
    <input type=button id="b" value='+'>
    <div class="slide">
    <img id='im' src="" alt="" />
    </div>
    </div>
    <div id="zhanwei"></div>
    </body>
    </html>
      

  3.   

    var ww=$img.width();
    var h=$img.height();
    这两行代码,取的就是页面上图片的宽跟高,每次加载图片的时候,图片的路径虽然改变了,但是这个图片节点还在并且已经被固定死了大小(上一张图片判断出结果并且已经体现在页面上了),但实际上你要判断的是这张图片本身的宽跟高所以这里要改成
    var ww=this.width;
    var hh=this.height;问题就出在,你实际想取的是图片本身的尺寸,但是你的代码取的是图片节点的尺寸。
      

  4.   

    xuzuning你好,
    不知你有没有运行试试,当开始宽>高是没问题,当有一张高>宽后,就都四方形了,150*150