2014-02-09 53 views
0

我的問題是我怎樣才能滾動到某個位置onClick到id #title使用jQuery,而不必在代碼中反覆重複相同的行。jQuery選擇標題屬性x,然後滾動到#title

就像這樣:

 
//Scroll from here (onClick) 

<span title="something"><element>Link</element></span> 

. 
. 
. 

// to here 

<div id="something"></div> 

我已經試過這樣的事情,但它沒有工作:

 
$(document).ready(function(x) { 

        $("span[title='" + x + "']").click(function() { 
         window.parent.$('html, body').animate({scrollTop: $("#" + x).offset().top - 10}, "slow"); 
         return false; 

        }); 

       }); 

...這就是一個修改版本,它工作正常,但要求一次又一次地重複相同的代碼:

$(文件)。就緒(函數(){

   $("span[title='titlex']").click(function() { 
        window.parent.$('html, body').animate({scrollTop: $("#titlex").offset().top - 10}, "slow"); 
        return false; 
       }); 
       $("span[title='titley']").click(function() { 
        window.parent.$('html, body').animate({scrollTop: $("#titley").offset().top - 10}, "slow"); 
        return false; 
       }); 

});

在此先感謝! :d

回答

1

你應該一類添加到您的span元素:

$("span[title]").click(function() { 
    $('body').animate({scrollTop: $("#" + $(this).attr('title')).offset().top - 10}, "slow"); 
    return false; 
}); 
+0

這就像一個魅力!非常感謝:) – Alex

+0

不客氣(順便說一句,在未來,當有人幫忙時,不要忘記說明答案是通過檢查來批准的)!如果你需要解釋,只要說出這個詞。 – Codel

相關問題