2012-07-05 39 views
0

我正在網站http://dev.io-web.com/portfolio.aspx上工作,並且遇到了我編程的滑塊的困難。 由於某些原因,當您單擊更改幻燈片時,會將網站上的滾動位置重置爲頂部。有沒有辦法讓它不改變屏幕的位置?我會包括滑塊部分的代碼,以及因此更容易理解我在做什麼:滑塊在點擊時更改屏幕滾動

$(".slide1").click(function() { 
    if(current_slide != "slide1"){ 
      $(".arrow").animate({"margin-left":"349px"}); 
      if(current_slide == "slide2"){ 
       $(".slide2_display").stop(true,true).fadeOut().hide(); 
       $(".slide1_display").fadeIn().show(); 
       current_slide = "slide1"; 
       $("#slide2content").hide(); 
       $("#slide1content").show(); 
      } 
      else if(current_slide == "slide3"){ 
       $(".slide3_display").stop(true,true).fadeOut().hide(); 
       $(".reps_display").fadeIn().show(); 
       current_slide = "slide1"; 
       $("#slide3content").hide(); 
       $("#slide1content").show(); 
      } 
      else{ 
       $(".slide4_display").stop(true,true).fadeOut().hide(); 
       $(".slide1_display").fadeIn().show(); 
       current_slide = "slide1"; 
       $("#slide4content").hide(); 
       $("#slide1content").show(); 
      } 

    } 
}); 

我有這個編碼對4個不同的顯示器。它應該只改變顯示並且不改變頁面的滾動,但是點擊功能可能會自動做類似的事情。任何幫助解決方案將不勝感激。請隨時在上面列出的網址上查看正在進行的工作。

回答

0

發生這種情況的原因是,當您使用jQuery.hide()隱藏div時,其容器.PortfolioSlider正在被調整爲0px,因爲它是空的。這會縮小頁面的高度,並使瀏覽器跳轉到頁面的頂部。 `不執行任何操作;

這是通過施加660px一個固定的高度,以.PortfolioSlider的CSS

+0

呀,'e.preventDefault()簡單地固定。但是感謝那個插件的鏈接。我相信我會在將來使用它。我無法弄清楚是什麼導致它改變了滾動,當我正在做的是當點擊另一個div時改變幾個div上的顯示。 – fudge22it 2012-07-05 19:44:18

+0

啊,我看到了,對於誤解抱歉,我用正確的解決方案編輯了我的答案。 – Austin 2012-07-05 19:50:06

+0

你說得對。更改高度可修復問題。我在另一個站點使用類似的代碼,但我認爲它確實有一個高度定義。謝謝你的幫助。 – fudge22it 2012-07-05 19:59:14