2014-02-06 79 views
0

我有一個工作腳本,可以上下滑動div內的內容。 出於某種原因無法讓小提琴工作,但它在我的網站上工作得很好。 http://jsfiddle.net/w5j2s/帶有箭頭圖像的Div內容滑塊

function Scroll(id,ud,spd){ 
    var obj=document.getElementById(id); 
    clearTimeout(obj.to); 
    if (ud){ 
     obj.scrollTop=obj.scrollTop+ud; 
     obj.to=setTimeout(function(){ Scroll(id,ud,spd); },spd||50) 
    } 
} 

我想我只有一個問題,但現在......首先,爲什麼不呢小提琴的工作?相同的腳本,divs,風格,它在我的網站上工作...它並不複雜,但由於某種原因,我不能在小提琴上工作!

秒現在我需要與箭頭圖像div,但這一個我需要從左到右滑動,而不是上下。我該如何修改腳本,以便我可以在同一頁面上使用同一個腳本來訪問不同的div,一個會上下滾動,另一個會從左向右滑動?

回答

0

你需要指定腳本是在身體:

enter image description here

對於你的問題的第二部分,你應該寫類似Scroll另一個函數使用,而不是scrollLeftscrollTop

+0

Thx ...即時通訊新到這一切...改變它,它工作完美 – user3057511

+0

好吧,有些事情是錯誤的。直到#tst上的寬度都是20px,但是當我把它放到200px時,它不能工作http://jsfiddle.net/w5j2s/5/ – user3057511

+0

你可以用嵌套的div修復這個問題。子div的寬度大於父級的寬度。見http://jsfiddle.net/w5j2s/6/ – Sionnach733

0

使用Margin-Top css屬性替代scrollTop

http://jsfiddle.net/w5j2s/3/

的Javascript:

var objTimeout; 

function scroll(id, ud, spd){ 
    clearTimeout(objTimeout); 
    if (ud){ 
     var o = document.getElementById('tst'); 
     var marginInt = parseInt(o.style.marginTop || 0); 
     o.style.marginTop = (marginInt + ud) + 'px'; 
     objTimeout = setTimeout(function(){ scroll(id, ud, spd); }, spd||50); 
    } 
} 

此外,還有其他的修正做到:

  1. 將滾動div的包裝內。
  2. 當調用滾動時,確保HTML元素將被加載。