Yahoo, юи и iPad ориентация - PullRequest
       10

Yahoo, юи и iPad ориентация

3 голосов
/ 31 марта 2011

Я только начал разрабатывать сайты, подобные веб-приложениям, для iPad.Я использую scrollView YUI для списков, который хорошо работает.

Теперь проблема в том, что когда меняется ориентация, мне нужно обновить высоту экземпляра скроллера, что я не знаю, какчтобы выполнить.

Насколько я знаю, в моем грязном куске кода должно быть несколько слушателей и аргументов событий или что-то в этом роде.Есть идеи?

YUI().use("scrollview", function (Y) {


  if(window.orientation == 0) // Temp solution to set the right height on load.
        { var iheight = 740; }
    else if(window.orientation == 90 || window.orientation == -90)
        { var iheight = 480; }

    var scrollview = new Y.ScrollView({
        id: "scrollview",
        srcNode: '#scrollable',
        height: iheight,        
        flick: {
            minDistance:10,
            minVelocity:0.3,
            axis: "y"}
    });

    scrollview.render();

    scrollView._uiDimensionsChange(); // Think I'm supposed to use this somehow.
});

1 Ответ

1 голос
/ 31 марта 2011

Чтобы изменить высоту, все, что вам нужно сделать, это:

scrollView.setAttrs({height: 500});

Чтобы выполнить этот код при изменении ориентации, этот должен работать (хотя я не могу проверить его, так как у меня нет мобильного браузера):

YUI().use("scrollview", function (Y) {

    function getHeight() {
        switch (window.orientation) {
            case 0:
                return 740;
            case 90:
            case -90:
                return 480;
            default:
                return ???;
        }
    }

    var scrollview = new Y.ScrollView({
        id: "scrollview",
        srcNode: '#scrollable',
        height: getHeight(),        
        flick: {
            minDistance:10,
            minVelocity:0.3,
            axis: "y"}
    });

    scrollview.render();

    Y.on("orientationchange", function (e) {
    {
        scrollView.setAttrs({
            height: getHeight()
        });
    });
});
...