Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在KnockoutJS中创建“滑动页面”效果?_Javascript_Knockout.js - Fatal编程技术网

Javascript 如何在KnockoutJS中创建“滑动页面”效果?

Javascript 如何在KnockoutJS中创建“滑动页面”效果?,javascript,knockout.js,Javascript,Knockout.js,我希望使用KnockoutJS让不同的页面滑入和滑出视口 我的页面目前没有使用jQuery,所以我想避免使用它 它应该使用CSS转换。这可以通过绑定完成,但首先我们需要一个用于按钮的助手函数。它返回一个click处理程序,该处理程序将可观察值设置为特定值。它可以像data bind=click:page.set1一样使用 现在我们的HTML将在页面容器中有一个绑定。页面告诉我们要在哪个页面上。每个页面都有一个简单的类,我们用它来描述它们 <div class="pages" data-bi

我希望使用KnockoutJS让不同的页面滑入和滑出视口

我的页面目前没有使用jQuery,所以我想避免使用它


它应该使用CSS转换。

这可以通过绑定完成,但首先我们需要一个用于按钮的助手函数。它返回一个click处理程序,该处理程序将可观察值设置为特定值。它可以像data bind=click:page.set1一样使用

现在我们的HTML将在页面容器中有一个绑定。页面告诉我们要在哪个页面上。每个页面都有一个简单的类,我们用它来描述它们

<div class="pages" data-bind="page: page">
  <div class="page text-center">
    <h1>Page 1</h1>
    <button class="btn" data-bind="click: page.set(1)">Go to Page 2</button>
  </div>
</div>
最后,我们的绑定处理程序会看到它是什么页面,并确定正确的大小。请注意,第0页是第一页

ko.bindingHandlers.page = {
  update: function(element, valueAccessor) {
    var position = ko.unwrap(valueAccessor());

    console.log(position);
    element.style.left = position * -100 + "%";
  }
}

ko.applyBindings({page: ko.observable(0)});
现在我们可以将页面绑定为可观察

ko.applyBindings({page: ko.observable(0)});

这可以通过绑定来完成,但是首先我们需要一个按钮的助手函数。它返回一个click处理程序,该处理程序将可观察值设置为特定值。它可以像data bind=click:page.set1一样使用

现在我们的HTML将在页面容器中有一个绑定。页面告诉我们要在哪个页面上。每个页面都有一个简单的类,我们用它来描述它们

<div class="pages" data-bind="page: page">
  <div class="page text-center">
    <h1>Page 1</h1>
    <button class="btn" data-bind="click: page.set(1)">Go to Page 2</button>
  </div>
</div>
最后,我们的绑定处理程序会看到它是什么页面,并确定正确的大小。请注意,第0页是第一页

ko.bindingHandlers.page = {
  update: function(element, valueAccessor) {
    var position = ko.unwrap(valueAccessor());

    console.log(position);
    element.style.left = position * -100 + "%";
  }
}

ko.applyBindings({page: ko.observable(0)});
现在我们可以将页面绑定为可观察

ko.applyBindings({page: ko.observable(0)});
还有一个很好的方法来结束这一切