首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hammer.js旋转木马启动窗格

Hammer.js旋转木马启动窗格
EN

Stack Overflow用户
提问于 2013-05-13 09:48:56
回答 1查看 1.1K关注 0票数 0

Heyho

我正在大学里做一个项目,我想用"Hammer.js“。我已经下载了这个旋转木马的例子,它对我来说非常有用。

但是我想启动代码的中间窗格,我认为这并不是那么简单。

就像这样:

http://img203.imageshack.us/img203/6326/schemeas.jpg

所以Hammer.js总是从绿色屏幕开始。但我喜欢从黄色的开始。我在init函数中添加了一个右击,但是当页面加载时,它看起来很糟糕,不能成为目标^^。

我希望你们中的任何人都知道如何解决我的问题。

EN

回答 1

Stack Overflow用户

发布于 2013-05-13 10:58:37

试着打

代码语言:javascript
复制
carousel.showPane(1);

它将立即显示第二个窗格。你会想把它靠近底部,就在它写的地方之后。

代码语言:javascript
复制
carousel.init();

如果您感到冒险,可以尝试让它自动从该窗格开始,因为Carousel函数中有一个名为current_pane的变量,该变量设置为默认值0(第一个窗格)。更改此操作也可能有效,但可能需要在其他地方编写更多代码。做实验!

编辑

NULL是对的,它确实使它充满活力。下面是一个更深入的方法,可以在没有动画的情况下设置它:

我发现负责更改窗格显示的方法是setContainerOffset方法,它可以传递一个变量来激活它。我之前告诉过您使用showPane(2),但随后调用了

代码语言:javascript
复制
setContainerOffset(offset, true)

这导致了动画的发生。你应该做的是做一个稍微不同的版本的showPane.

代码语言:javascript
复制
this.setPane = function( index ) {
         // between the bounds
        index = Math.max(0, Math.min(index, pane_count-1));
        current_pane = index;

        var offset = -((100/pane_count)*current_pane);
        setContainerOffset(offset, false);
    };

您会发现它与showPane几乎完全相同,除了名称和使用动画调用setContainerOffset : false之外。这将立即显示您选择的窗格,并且可以使用

代码语言:javascript
复制
carousel.setPane(index);

我所做的是将它添加到init函数中,这样看起来如下所示:

代码语言:javascript
复制
 this.init = function() {
        setPaneDimensions();
        var c = this;
        $(window).on("load resize orientationchange", function() {
            setPaneDimensions();
            c.setPane(current_pane);
            //updateOffset();
        })
    };

现在你可以改变

代码语言:javascript
复制
var current_pane = 0;

无论你想要什么,旋转木马在初始化时总是从那个窗格开始!很简单!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16519151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档