jquery没有在手机上工作

时间:2015-08-03 15:28:57

标签: javascript jquery html css

我有一个网站菜单,使用一小部分jQuery将HTML页面的特定部分加载到当前页面,ID为'guts'。我希望菜单在访问期间保持不变,而“胆量”就是这一切。 URL也会随函数更改。

我在大多数桌面浏览器上都能正常工作,但在移动设备上却没有。内容淡入淡出,因此脚本部分执行,但未引入正确的内容,并且URL保持不变。

我很新,并且认为这是某种语法错误。非常感谢任何帮助。谢谢。

Working Page

我的代码:

$(document).ready(function() {

    var newHash      = "",
        $mainContent = $("#content-wrap"),
        $el;



    $("#menu a").click(function(event) {
        event.preventDefault();
        var _link = this.href;
        $mainContent
                .fadeOut(1000, function() {
                    $mainContent.hide().load(_link + " #guts", function() {
                        $mainContent.fadeIn(1000);
                        window.history.pushState(null, null, _link);
                        $(window).trigger("pathchange");
                        });
                    });
        return false;

    });

});

2 个答案:

答案 0 :(得分:2)

我会以完全不同的方式做到这一点:

$(document).ready(function() {

var newHash      = "",
    $mainContent = $("#content-wrap"),
    $el;



$("#menu a").on("click tap", function(event) {

    var _link = $(this).attr('href');


    $mainContent.fadeOut(1000);

    // Sends GET request to _link + "#guts" with empty arguments({})
    // And after it does the stuff with htmlData =(response) in callback func.        
    $.get(_link + "#guts", {}, function(htmlData) {

           // Waits for fadeout function
           while($mainContent.attr('display') != 'none') {}

           // Fills the content of $mainContent div with response data
           $mainContent.html(htmlData);

           // Does your stuff           
           $mainContent.fadeIn(1000);
           window.history.pushState(null, null, _link);
           $(window).trigger("pathchange");
    } 
}

希望它会起作用:) 祝你好运。

答案 1 :(得分:0)

您提供的网站链接不是响应式网站,因为它可以在所有设备中正常显示。

这对您http://www.w3schools.com/html/html_responsive.asp有助于您的网站响应。

你的jQuery代码没有错误。