我使用 HTML 和 JavaScript 创建了一个 Windows 8 应用程序。
在这里,我想从屏幕右侧向左滑动一个 div [包含两个文本框和一个按钮]。
希望问题很清楚。
我使用 HTML 和 JavaScript 创建了一个 Windows 8 应用程序。
在这里,我想从屏幕右侧向左滑动一个 div [包含两个文本框和一个按钮]。
希望问题很清楚。
jQuerys$.animate
很好,请参见此处。
但是,由于安全限制,在 Windows 8 应用程序中使用 jQuery 是有问题的,我已经写了一篇博客文章,并在那里提供了一个 Windows 8 就绪的 jQuery 版本,看看: http: //www.incloud.de/2012/ 08/windows-8-using-jquery-for-app-development/
这是使用 CSS 过渡的示例。
/* CSS */
#myDiv {
width:300px;
height:300px;
box-sizing:border-box;
position:relative;
left:-300px;
border:2px solid;
transition:1s;
}
然后在 JavaScript 中,您只需以left
编程方式设置属性。就我而言,我这样做是为了响应按钮单击。
// js
element.querySelector("#go").onclick = function(e) {
element.querySelector("#myDiv").style.left = "0px";
};
你有它。硬件加速和一切。
考虑使用 WinJS 原生动画库。对于您来说,WinJS.UI.Animation.enterContent或WinJS.UI.Animation.showPanel可能很有用。
使用以下代码解决了问题:
CSS:
position: fixed;
right: 0px;
top: 0px;
width: 308px;
height: 100%;
color: white;
background-color: bisque;
opacity: 0;
z-index: 1;
然后在 JavaScript 中,我刚刚将 opacity 属性设置为 1。
JS:
(function () {
"use strict";
var page = WinJS.UI.Pages.define("/default.html", {
ready: function (element, options) {
btnname.addEventListener("click", togglePanelUI, false);
myPanel = element.querySelector("#divname"); } //div name is name of div which u wants to slide
});
var animating = WinJS.Promise.wrap();
var myPanel;
function togglePanelUI() { // If element is already animating, wait until current animation is complete before starting the show animation.
animating = animating
.then(function () {
// Set desired final opacity on the UI element.
myPanel.style.opacity = "1";
// Run show panel animation.
// Element animates from the specified offset to its actual position.
// For a panel that is located at the edge of the screen, the offset should be the same size as the panel element.
// When possible, use the default offset by leaving the offset argument empty to get the best performance.
return WinJS.UI.Animation.showPanel(myPanel);
});
}
})();
有关 Windows 8 动画的更多信息,请查看此处