用于移动网站的jQuery可滚动Div

我正在尝试为移动网站创建一个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的宽度。 它绝对被加载。 我不知道问题是什么...


得到它了。 在另一个问题上发现它:

当div变得可见时,jQuery事件触发动作

链接地址: http://www.djcxy.com/p/83395.html

上一篇: jQuery Scrollable Div for Mobile Websites

下一篇: remove class from a div when in viewport