我现在执行时候单击按钮可以看到结果,为什么我把这段代码 var x=$("#float_younker").offset();
    $("#span1").text(x.left);
    $("#span2").text(x.top);放入sssss函数的开头就不行呢
<html>
<head>
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">   
<script type="text/javascript" src="jquery-1.9.0.js"></script>
<script> 
$(document).ready(function(){
  $("button").click(function(){
 var x=$("#float_younker").offset();
    $("#span1").text(x.left);
    $("#span2").text(x.top);
  });
});
$(document).ready(sssss());
function sssss(){
 var obj = $("#float_younker");
 var T = obj.css("left");
 var L = obj.css("top");
 var ST =obj.scrollLeft();
 $(".html_").html(T);
 $("#float_younker").stop().animate({"left":'+=100',"top":'+=100'},1000);
setTimeout("sssss()",100);
};</script>
</head>
<body>
<div id="float_younker" style="position:relative;left:100px;top:100px">
<a href="#" target="_blank">
<img  alt="javascript 图片漂浮广告代码"  src="a.jpg" border="0">
</a>
</div>
<div class="html_"></div>
<p>本段落的偏移是 <span id="span1">unknown</span> left 和 <span id="span2">unknown</span> top。</p>
<button>获得 offset</button>
</body>
</html>jQueryHTMLJavaScriptJava

解决方案 »

  1.   

    <html>
    <head>
          <meta http-equiv="content-type" content="text/html; charset=UTF-8">   
    <script type="text/javascript" src="jquery-1.9.0.js"></script>
    <script> 
    $(document).ready(function(){
      $("button").click(function(){
     var x=$("#float_younker").offset();
        $("#span1").text(x.left);
        $("#span2").text(x.top);
      });
    });
    $(document).ready(sssss());//这里不对,sssss函数直接执行,此时页面还没加载完成。要//搞清楚$(document).ready()这个方法接受的参数是一个函数,而不是一个函数的返回//值,你这样写就是将sssss函数先执行,将函数返回值当做一个函数传给ready方法
    function sssss(){
     var obj = $("#float_younker");
     var T = obj.css("left");
     var L = obj.css("top");
     var ST =obj.scrollLeft();
     $(".html_").html(T);
     $("#float_younker").stop().animate({"left":'+=100',"top":'+=100'},1000);
    setTimeout("sssss()",100);
    };
     
    </script>
    </head>
    <body>
    <div id="float_younker" style="position:relative;left:100px;top:100px">
    <a href="#" target="_blank">
    <img  alt="javascript 图片漂浮广告代码"  src="a.jpg" border="0">
    </a>
    </div>
    <div class="html_"></div>
    <p>本段落的偏移是 <span id="span1">unknown</span> left 和 <span id="span2">unknown</span> top。</p>
    <button>获得 offset</button>
    </body>
    </html>
    改成
    <html>
    <head>
          <meta http-equiv="content-type" content="text/html; charset=UTF-8">   
    <script type="text/javascript" src="jquery-1.9.0.js"></script>
    <script> 
    $(document).ready(function(){
      $("button").click(function(){
        sssss();//点击button执行sssss
      });
      sssss();//页面加载完成后执行sssss
    });function sssss(){
     var x=$("#float_younker").offset();
        $("#span1").text(x.left);
        $("#span2").text(x.top);
     var obj = $("#float_younker");
     var T = obj.css("left");
     var L = obj.css("top");
     var ST =obj.scrollLeft();
     $(".html_").html(T);
     $("#float_younker").stop().animate({"left":'+=100',"top":'+=100'},1000);
    setTimeout("sssss()",100);
    };
     
    </script>
    </head>
    <body>
    <div id="float_younker" style="position:relative;left:100px;top:100px">
    <a href="#" target="_blank">
    <img  alt="javascript 图片漂浮广告代码"  src="a.jpg" border="0">
    </a>
    </div>
    <div class="html_"></div>
    <p>本段落的偏移是 <span id="span1">unknown</span> left 和 <span id="span2">unknown</span> top。</p>
    <button>获得 offset</button>
    </body>
    </html>
      

  2.   

    这样可以,原因不明,查原码一下子没看出来。 var x=$("#float_younker").offset();
     if(x){
       $("#span1").text(x.left);
       $("#span2").text(x.top);
     }