2013-02-27 21 views
1

我想添加一個功能到我的網站的方式,當我點擊一個鏈接,我想要一個特定的div元素來進入查看用戶。試圖代碼得到一個特殊的div來查看或滾動到視圖

$(".testClick").live("click",function(e){ 
    e.preventDefault(); 
     // Call the scroll function 
    goToByScroll("indID13"); 
}); 


function goToByScroll(id){ 
     // Reove "link" from the ID 
    id = id.replace("link", ""); 
     // Scroll 
    $('html,body').animate({ 
     scrollTop: $("#"+id).offset().top}, 
     'slow'); 
} 

但這並不工作...是有可能用了純jQuery的本身的任何插件來實現該功能..或者我應該使用任何插件... 我將添加一個樣本我試過的是什麼。該鏈接的jsfiddle http://jsfiddle.net/xFu3M/

和TOOOO試試這個http://jsfiddle.net/xFu3M/6/這是試圖讓DIV 1至視圖和bug..im它已經鑑於,,所以當我點擊鏈接它顯示了一些其他分區

+0

'live'已在jQuery 1.9中刪除。 – undefined 2013-02-27 10:40:03

回答

2

你只是有一個語法錯誤,改變.live來。對作爲.live已jQuery中的更高版本貶值使用,它會工作:

$(".testClick").on("click",function(e){... 

看到這個編輯小提琴jsFiddle

+0

謝謝你的工作...... :) wt如果dom是動態創建的,如果即時通訊使用.on在文檔就緒包裝器中,單擊事件將檢測到正確的? – sam 2013-02-27 10:47:57

+0

編輯已提出質疑.... – sam 2013-02-27 10:51:16

0

嘗試

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript"> 

    $(document).ready(function() 
    { 
     $(".wrapper").css({"width" : $(window).width() , "height" : $(window).height()}); 
     $(".testClick").on("click",function(e) 
     { 
      e.preventDefault(); 
      goToByScroll("indID13"); 
     }); 
    }); 

    function goToByScroll(id) 
    { 
     id = id.replace("link", ""); 
     $('html,body').animate(
     { 
      scrollTop: $("#"+id).offset().top 
     },'slow'); 
    } 

</script> 

您點擊事件代碼未在document.ready包圍。

也使用.on而不是.live,因爲它從現在開始已經摺舊了。

+0

wt如果dom是動態創建的,如果im在文檔就緒包裝器中使用.on,那麼點擊事件將會被檢測到嗎? – sam 2013-02-27 10:46:27

+0

不對,它會工作......不管dom是動態創建的。 – 2013-02-27 10:47:46

+0

我將檢查.... – sam 2013-02-27 10:50:39