0

我目前有一个可在桌面浏览器和平板电脑上运行的 Web 应用程序。除了 jquery 移动滚动视图之外,我得到了一切工作并听取了正确的事件类型。

我将此插件用于底部的导航栏。它适用于除 Internet Explorer 之外的所有浏览器。有谁知道要更改文件中的哪些内容以使其正常工作?

我还找到了插件 iScroll,但这个插件没有提供相同的功能。如果可能的话,我宁愿继续使用 jquery mobile scrollview。

4

3 回答 3

1

为了让jquery mobile scrollview能和IE一起工作,修改jquery.mobile.scrollview.js第22行为: > scrollMethod: "scroll", // "translate", "position", "scroll" 这是默认设置的关于翻译,IE 不支持。

于 2012-08-21T13:29:19.370 回答
1

您可以在创建对象时通过首先检查浏览器是否为 IE 来设置选项,而不是编辑 jquery.mobile.scrollview.js:

if($.browser.msie){
   opts.scrollMethod = "scroll";
}

在页面创建功能中使用它

var $page = $( this );

// For the demos that use this script, we want the content area of each
// page to be scrollable in the 'y' direction.

//$page.find( ".ui-content" ).attr( "data-" + $.mobile.ns + "scroll", "y" );

// This code that looks for [data-scroll] will eventually be folded
// into the jqm page processing code when scrollview support is "official"
// instead of "experimental".

$page.find( ":jqmData(scroll):not(.ui-scrollview-clip)" ).each(function () {
    var $this = $( this );
    // XXX: Remove this check for ui-scrolllistview once we've
    //      integrated list divider support into the main scrollview class.
    if ( $this.hasClass( "ui-scrolllistview" ) ) {
        $this.scrolllistview();
        scrollViewObj = $this;
    } else {
        var st = $this.jqmData( "scroll" ) + "",
            paging = st && st.search(/^[xy]p$/) != -1,
            dir = st && st.search(/^[xy]/) != -1 ? st.charAt(0) : null,

            opts = {
                direction: dir || undefined,
                paging: paging || undefined,
                scrollMethod: $this.jqmData("scroll-method") || undefined
            };


        if($.browser.msie){
            opts.scrollMethod = "scroll";
        }
        $this.scrollview( opts );
        scrollViewObj = $this;
    }

});
于 2012-10-02T17:38:51.137 回答
0

它可能无法在 IE 上运行。jQuery mobile 非常基于 HTML5,IE 不太符合 HTML5。

最好的办法是查看chrome 框架,让 Google 解决 IE 中缺乏 HTML5 支持的问题。实现起来非常简单,网站上有模板,它也应该加速网站上的其余 JavaScript。

希望有帮助!

于 2012-04-26T10:21:11.030 回答