在jQuery Animate上滑动窗外大小的Div

时间:2015-12-05 20:21:04

标签: jquery position jquery-animate

我在点击时将一组div的位置从绝对更改为相对,以便他们可以滑入他们自己的位置。这是一个小提琴:

http://jsfiddle.net/sn9L1gr9/1/

public class ObservableWebView extends WebView {
private OnScrollChangeListener onScrollChangeListener;

public ObservableWebView(Context context) {
    super(context);
}

public ObservableWebView(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public ObservableWebView(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
}

@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
    super.onScrollChanged(l, t, oldl, oldt);
    if (onScrollChangeListener != null) {
        onScrollChangeListener.onScrollChange(this, l, t, oldl, oldt);
    }
}

public void setOnScrollChangeListener(OnScrollChangeListener onScrollChangeListener) {
    this.onScrollChangeListener = onScrollChangeListener;
}

public OnScrollChangeListener getOnScrollChangeListener() {
    return onScrollChangeListener;
}

public interface OnScrollChangeListener {
    /**
     * Called when the scroll position of a view changes.
     *
     * @param v          The view whose scroll position has changed.
     * @param scrollX    Current horizontal scroll origin.
     * @param scrollY    Current vertical scroll origin.
     * @param oldScrollX Previous horizontal scroll origin.
     * @param oldScrollY Previous vertical scroll origin.
     */
    void onScrollChange(WebView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY);
}
}

除了在进入下一行之前向每行添加额外的div之外,它的工作原理是有效的。所以在1366x768显示器上观看jfiddle,四个窗口大小均匀,应该是:

Div1 - Div2
Div3 - Div4
Div5 - Div6
DIV7

但是它组织为:

Div1 - Div2 - Div3
Div4 - Div5 - Div6
DIV7

并添加滚动条。

所以我想知道如何让div正常打破(包括使用包含原始绝对定位div的列)。非常感谢。

1 个答案:

答案 0 :(得分:0)

因为我知道了div的宽度,所以我最终把它们放在一个设置为100%宽度的容器中,并从容器宽度中减去一个div的宽度:

$("#container").css('width','100%').css('width','-=170px');

ScheduledExecutorService