2011-11-10 32 views
3

我的HTML代碼的一部分:jQuery的反彈時+拖動項目

<div class="stories"> 
    <div class="story">       
     <div class=".."> 
      <img alt="" class=".."> 
     </div> 
     <div class="dragger"></div> 
    <div> 

    <div class="story"> 
     ... 
     <div class="dragger"></div> 
    </div> 
</div> 

「牽引機」是一個元素,可以拖動「故事」塊在頁面上使用此jQuery代碼:

$('.dragger').mousedown(function(e){ 
    $(this).parent().draggable({ 
     disabled: false, opacity: 0.5, zIndex: 2700, revert: true, 
     stop: function() { $(this).draggable({ disabled: true }) } 
}) 

直到我將這個「故事」元素放入過卷區域時才起作用。我想在除了作爲「拖動器」的小區域之外的任何地方管理「單擊和拖動」時滾動滾動。所以例如。當我想說一個故事時,我想滾動。我試圖用「.dragger」使用'cancelOn'參數,但它不起作用,因爲我希望 - 滾動被阻止,但(我不知道爲什麼)「故事」項目也不能被拖動,然後在頁面上。

這裏是「反彈時」

$(".scheduled").overscroll({ 
    direction: 'horizontal', 
    wheelDirection: 'horizontal', 
    wheelDelta: 80, 
    cancelOn: ".dragger" 
}); 

的代碼「.scheduled」是一個‘上’的div,其中故事放。你有什麼想法嗎?

問候, 葛山

回答

4

事件可能不會冒泡當您使用cancelOn,並可能被打破拖動。嘗試在您要拖動的元素被點擊時臨時禁用超卷(使用removeOverscroll)。拖動完成後,您可以重新啓用該插件。

+0

感謝您的回答。我試過這個技巧,禁用/啓用overscroll之前,但禁用後默認(灰色窗口)滾動條顯示,所以我拒絕了這個解決方案。但好的,我會再試一次,做一些修改。 Thx – galsan

+0

你知道如何使這項工作?我正在尋找類似問題的解決方案。 –