2011-12-02 223 views
3

我有一個div元素的鏈接列表,我使用dropcontent.js在單擊鏈接時將內容加載到另一個div。現在我想添加一些將點擊鏈接滾動到瀏覽器窗口頂部的代碼。jQuery - 如何點擊時將錨點滾動到頁面頂部?

HTML是這樣的列表中的每個項目:

<div class="work"> 
    <h3><a class="scroll" href="project2.html">Project 2</a></h3> 
    <div class="projectIntro"> 
     <p>This is some intro text for project 2</p> 
    </div> 
    <div class="pictures"></div> 
</div> 

我發現教程點擊一個鏈接時,滾動到一個ID(通過使HREF的div ID要滾動到 - 不幸的是我不能這樣做,因爲我的href實際上是一個單獨的html頁面,即使它正在使用dropcontent將它加載到當前頁面中

我還發現了一個教程,用於在頁面加載時滾動到特定ID ,但沒有一個簡單地說當一個給定類的錨點被點擊時,將它滾動到瀏覽器窗口的頂部。

有人可以幫我解決這個問題嗎?謝謝。

UPDATE:

我有滾動使用下面的代碼工作:

$('.work a').click(function() { 
     $('html,body').animate({scrollTop: $(this).offset().top}, 500); 
     }); 

但是,我dropcontent.js不再工作......我想是因爲我有2個功能存在的上相同的點擊...我想先加載內容,然後滾動。

這裏是我的dropcontent.js

$('.work a').click(function(event) { 
event.preventDefault(); 

var parent = $(this).parents(".work"); 
var content_holder = parent.children(".pictures"); 

if (parent.hasClass("selected_work")) { 
    close_other(); 
    return; 
} 

close_other(); 

parent.addClass("selected_work"); 
content_holder.load(this + " #content .work"); 

$('.selected_work img').attr("src", "images/arrow_close.gif"); 

}); 


function close_other() { 

var selected_work = $('.selected_work'); 

selected_work.children('.pictures').empty();  
$('.selected_work img').attr("src", "images/arrow_open.gif"); 
selected_work.removeClass("selected_work") 
} 

}); 

所以現在我只需要這些代碼2位整合,讓他們一起工作......到目前爲止,還沒有我有沒有運氣這樣做 - 如果我添加滾動(動畫)功能,負載功能停止工作......

更新2

原來這是別的東西這是造成問題的原因 - 我現在有工作!

+0

難道你們就不能只是移動的動畫調用回報;在close_other之後 - 不會有相同的效果? – dash

+0

@精靈,如果你找到自己的答案。請在下面發佈自己的答案並接受它。這將會結束這個問題,並在將來爲其他人找到答案。 – Marnix

+0

當然 - 我確實嘗試過,但系統不會讓我很快回答我自己的問題...我現在已經發布了答案,但系統告訴我必須等待2天才能接受它... – Spirit

回答

5

這裏是你如何滾動鏈接到頂端:

$('.work a').click(function() { 
    $('html,body').animate({scrollTop: $(this).offset().top}, 500); 
}); 
0

不是您的問題的直接答案,而是您可能想要使用的很好的參考。

http://demos.flesler.com/jquery/scrollTo/

jQuery的scrollTo插件可以讓你滾動到你的頁面中的任何錨<a>。如果您只是在窗口頂部放置錨點,則可以使用scrollTo直接使用動畫進入。

+0

謝謝 - 我確實看過這個,但我不確定這是我之後,正如我不想滾動到一個不同的錨點......我想我只是點擊滾動的錨點 - 我已經想出瞭如何做到這一點現在...只是有一個問題,讓兩個代碼一起工作,沒有一個取消另一個... – Spirit

相關問題