移动网站的jQuery Scrollable Div

时间:2010-11-22 16:22:49

标签: jquery css jquery-plugins scroll mobile-phones

我正在尝试为移动网站创建一个jQuery插件,将div容器转换为可滚动容器。我通过将div容器内的所有子项包装在另一个绝对定位的div容器中来实现此目的。然后我修改内部div的顶部或左侧css样式,以模拟上下或左右移动文本。我正在使用触摸事件侦听器来确定何时移动滚动div。

但是,我在设置内部滚动div的宽度()时遇到了一些麻烦。以下是代码示例:

myObj.ready(function(){
myObj.css({ 'position' : 'relative', 'overflow' : 'hidden' }).wrapInner('<div id="scrollCntr">');
$('#scrollCntr').prepend("<img src='scrollBar.png' id='scrollBar' class='horizontal'");
$('#scrollCntr').height( myObj.height() );

if ( config.width <= 0 ) {
    $('#scrollCntr').children().each(function(){
        if ( $(this).css('display') == 'inline' || $(this).css('float') == 'left' || $(this).css('float') == 'right' ) {
            totalWidth += $(this).width();

            for( var i = 0; i < boxProps.length; i++ )
                if ( $(this).css(boxProps[i]) != "" )
                    totalWidth += parseInt( $(this).css(boxProps[i]).replace( /px/i, '' ).replace( /em/i, '' ).replace( /pt/i, '' ) );
        }
    });
} else {
    totalWidth = config.width;
}

console.log( totalWidth );
$('#scrollCntr').width( totalWidth );
console.log( $('#scrollCntr').width() );

});

在这种情况下,config.width设置为719,myObj是滚动的容器div。我不确定问题是什么。我在我的演示中没有任何问题,当我的孩子元素只是图像时,但是当我将它应用到我的移动网站时,其中子元素所在的div盒子,它一直有问题。也许儿童元素没有及时加载?但这无法解释为什么我无法设置滚动div的宽度。它绝对被装载。我不知道问题是什么......

1 个答案:

答案 0 :(得分:0)

知道了。在另一个问题上找到了它:

jQuery event to trigger action when a div is made visible