2014-04-21 61 views
1

我對通過Jquery操作的元素的絕對定位存在問題。不過,我設法通過將元素定位在left:0px;來解決這個問題。簡單滑塊無法工作&絕對定位問題

在這個過程中,我也發現了一個問題,我不知道如何解決。通過簡單地將Jq Framework更改爲1.10.1並更新頁面然後運行它,可以使用JS Fiddle複製此問題。就好像代碼打破並且只是部分工作。我在構建它的頁面中遇到了同樣的問題。

我有;

  • 檢查所有鏈接,確保它們沒有損壞或拼寫錯誤。
  • 掃描了語法錯誤的所有代碼。

JS FIDDLE

這裏是腳本。

$(document).ready(function() { 

    $(".slide-one").show(); 
    $(".slide-two").hide(); 

    $(".show_hide").show(); 

    $('.show_hide').click(function() { 
     $(".slide-one").toggle("slide", 1000); 
    }); 
    $('.show_hide').click(function() { 
     $(".slide-two").toggle("slide", 1000); 
    }); 

}); 
+0

有什麼問題,爲什麼你不想用絕對? – ProllyGeek

+0

@ProllyGeek我一直在想這個問題,它是一個漫長的一天。我只使用'left:0px;'規則解決了我的問題。然而,我在這個過程中發現了另一個問題。檢查問題以獲取更新。 – Beaniie

回答

3

當在jsFiddle中使用jQuery1.10時,需要單獨鏈接到jQueryUI。這爲我解決了你的新問題。

此外,但不是什麼導致的問題,你只需要綁定.click.show_hide一次。

$('.show_hide').click(function() { 
    $(".slide-one").toggle("slide", 1000); 
    $(".slide-two").toggle("slide", 1000); 
}); 

這裏是一個更新的小提琴:Here

+0

我認爲這可能是UI,在做一些研究之後。但不知道只綁定一次點擊。我最近決定每隔15秒左右將點擊事件更改爲定時事件,你會知道如何做到這一點? – Beaniie

+1

我自己從來沒有使用它,但JavaScript有一個名爲'setInterval()'的函數,它可以讓你每隔一段時間執行一些操作。 –

+0

是的一些研究後,我設法完成定時事件。我原本試圖使用'.delay',但這並不像我需要的那樣工作。再次感謝你的幫助! :) – Beaniie

1

您對.toggle()電話是錯誤的,API說:

.toggle(duration [, easing ] [, complete ]) 

所以這是第一個時間再寬鬆型。正如帕特里克艾倫指出,如果你不加載jQueryUI你不會有一個「幻燈片」緩動功能 - 你可以在控制檯中看到未定義的函數調用。

我想你可能想使用:

$(".slide-one").slideToggle(1000); 

得到你要尋找的效果。 Fiddle

+0

感謝您的意見,生病檢查出來。 :) – Beaniie