1

所以我们遇到的问题如下。

当我们开始滚动文档时,我们需要使<div id="navButtons">消失。在我们停止滚动后,相同的 div 应该变得可见。

我们有它在这个链接上工作:http: //jsfiddle.net/zsnfb/9/,但是当我们尝试在 Windows8 应用程序中应用它(使用 MS Expression Blend)时,它就是不起作用 - 应用程序在启动时崩溃。

PS 我们已经包含了所有必要的 .js 并引用了它们。

现在按照此说明http://blog.adamroderick.com/2011/09/jquery-in-a-windows-8-application/不幸的是它不起作用

这是代码

(function() {
    "use strict";
    // This function is called whenever a user navigates to this page. It
    // populates the page elements with the app's data.


    function ready(element, options) {
        // TODO: Initialize the fragment here.
        var b1 = element.querySelector("#ScrollableSection");
        b1.addEventListener("mousedown", function(e) {
            var buttons = element.querySelector(".visible");
            buttons.className = "transparent";
        });
    } 

    function ready(element, options) {
        var b2 = element.querySelector("#button1");
        b2.addEventListener("click", function(e) {
            var buttons2 = element.querySelector(".transparent");
            buttons2.className = "visible";
        });
    }   
    WinJS.UI.Pages.define("/html/homePage.html", {
        ready: ready
    }); 
    WinJS.Application.start();
    $(document).ready(function) {
        var $menu = $("#navButtons");
        var opacity = $menu.css("opacity");
        var scrollStopped;
        var fadeInCallback = function() {
            if (typeof scrollStopped != 'undefined') {
                clearInterval(scrollStopped);
            }
            scrollStopped = setTimeout(function() {
                $menu.animate({
                    opacity: 1
                }, "fast");
            }, 300);
        }
        $(window).scroll(function() {
            if (!$menu.is(":animated") && opacity == 1) {
                $menu.animate({
                    opacity: 0
                }, "fast", fadeInCallback);
            } else {
                fadeInCallback.call(this);
            }
        });
    });
})();​
4

0 回答 0