2014-01-13 42 views
0

這是一個愚蠢的問題,但問題不在少數。我只是想在面板出現後獲得面板的「頂部」值。所以,當我在面板呈現其位置時進入頁面時,我想獲得它的最高價值。這裏是我正在使用的代碼:如何在jQuery中獲得div的最高值

//signinput is the panel whose top value I want  
$("#signinput").bind('afterShow', function() 
    { 
     TopVal = $("#signinput").position().top; 
     alert(TopVal); 
     TopVal = TopVal+"px"; 
    }); 

但有些如何甚至不提醒任何事情。所以出於某種原因,我綁定的這個函數並不是由於某種原因運行的事件。有什麼建議麼?

這裏是我的HTML代碼:

var TopVal = $("signinput").scrollTop(); 

編輯:

<div id="signinput"> 
       <div class="panel"> 
       <center> 
        <h3>Sign Into Blah Blah</h3> 

         <form name="SignIn" action="#" method="post"> 
          <input type="text" name="signinemail" id="signinemail" placeholder="Enter Email"> 
          <input type="password" name="signinpassword" id="signinpassword" placeholder="Enter Password"> 
          <input type="submit" id ="signinsubmit" name="signinsubmit" value="Sign In" data-theme="a"> 
         </form> 
       </center> 
       </div> 
      </div> 
+0

post ur html code !!!!! – rynhe

+1

'afterShow'不是本機事件,您是否使用提供該事件的插件? – adeneo

+1

是'afterShow'?你的coustome事件..如果是的話,你需要觸發它.. – bipen

回答

0

沒有afterShow事件和div有,因爲它會立即呈現無負載情況下,所以你可能需要的僅僅是一個DOM準備好處理程序:

$(function() { 
    TopVal = $("#signinput").position().top; 
    alert(TopVal); 
    TopVal = TopVal+"px"; 
}); 
0

這個功能,如果你不及格的值返回前值由你說「的方式出現在屏幕上後, 「,可能是因爲缺少使用jquery.live來搜索更新文檔中的元素嗎?否則,你的jQuery選擇$( 「singinput」)是NULL:

用途:

$("#signinput").live("afterShow", function() 

////一些額外的信息:

當你傳遞一個數字參數的函數「 scrollTop「,您可以修改它並強制瀏覽器滾動此容器。

參見:

http://api.jquery.com/scrolltop/

0

好,如果afterShow是你coustom事件,那麼你需要觸發它的document.ready功能

試試這個

$(function(){ 
    $("#signinput").bind('afterShow', function() 
    { 
     TopVal = $("#signinput").position().top; 
     alert(TopVal); 
     TopVal = TopVal+"px"; 
    }); 
    $('#signinput').trigger('afterShow'); 
}); 

我是不知道,你爲什麼要使用你的自定義事件。在document.ready中調用top應該可以工作(假設你在afterShow事件中只有一個alert)。

$(function(){ 

    TopVal = $("#signinput").position().top; 
     alert(TopVal); 
     TopVal = TopVal+"px"; 
}); 
0

我不知道哪些事件將會「afterShow」觸發,但在嘗試後,我發現當具有此觸發器的元素顯示時,我無法陷入該觸發器。

我想adeneo的答案可能是你的問題的解決方案。