2017-02-16 81 views
0

我在隐藏和显示jQuery的.sortable中的占位符时遇到问题。 请参阅JSFiddle隐藏/显示jQuery排序中的占位符

(请忽略布局。在我住的网站,它看起来更好......)

(另外,请注意,第一个悬浮窗已被禁用。)

我希望在达到最多4滴的情况下,禁用拖放区中的占位符(右侧8)。 我可以拖放两种方式,并且当达到最多4滴时,我确实设法禁用了右侧的占位符显示。 但是,我怀疑我的代码阻止占位符在原始区域显示,因为原始区域中有多于4个元素。

我试图通过使用一个额外的变量围绕这方面的工作,以确定我拖着我的时候/滴,就像这样:

var item = $(ui.item); 
var from = item.parent().is("#draggable"); 

,然后使用的if/else if/else语句建设能够检测我在哪里,从而决定是否隐藏或显示占位符。

不能得到它的工作....

所以,我们的目标是占位符应始终显示,在右边的dropzones已发生的4滴的最大数量时除外。

任何人都知道我是否在正确的轨道上?

+0

'$(占位符).toggle()'已经建立在你想要的功能 - 显示和隐藏元素,而不需要'if' – Bruno

回答

0

OK,我想它了(差不多了!)

以供将来参考:只好用.sortableover:功能,如果有其他然后逻辑在一些建设。

现在我总是在左窗格中看到占位符,并且当右窗格有4个子窗口时不再显示占位符,而在右窗格中的某个窗格内仍显示占位符。但是,仍然存在一个小问题:当我从右侧的一个窗格拖放到另一个窗格并且窗格“满”时,占位符仍然显示。必须做更多的检查,我猜...

FWIW:请看到成品的this JSFiddle