【问题标题】:JScrollPane won't scroll whole div? -- JScrollPane won't move dynamically with div on window resizeJScrollPane 不会滚动整个 div? -- JScrollPane 不会在窗口调整大小时随 div 动态移动
【发布时间】:2013-12-28 04:25:47
【问题描述】:

我在一个 div 上使用 JScrollPane 来滚动它。 div 包含一个自写的 javascript 代码,该代码从我的 tumblr 提要中获取最后几篇文章。然而,即使滚动窗格显示正常,由于某种原因,它并没有完全滚动通过 div。这意味着当我滚动到 jscroll 的末尾时,div 的可视区域下方还有更多内容没有显示出来。我想知道是否有人可以帮我解决这个问题.. 这是我正在使用的页面的链接: http://prisingh.com/#recent

这是在文档的开头部分:

<link type="text/css" href="css/jquery.jscrollpane.css" rel="stylesheet" media="all" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.mousewheel.js"></script>
<script type="text/javascript" src="js/jquery.jscrollpane.min.js"></script>

<script type="text/javascript" id="sourcecode">
        $(function()
        {
            $('.scroll-pane').jScrollPane();
        });
</script>

这是在正文部分:

<div class="tumblr scroll-pane">
    <img src="images/recenttumblr.png" style="position:fixed;">
    <script type="text/javascript" src="js/tumblr.js"></script>
</div>

以下是正在使用的 javascript 代码: http://www.prisingh.com/js/

编辑:现在我已经解决了原始 div 加载问题,我想知道如何让 Jscrollpane 在窗口调整大小时动态移动 div。每次我调整窗口大小时,JScrollpane 都会保持在最初加载网站时所在的位置。我已经尝试了插件提供的代码:

$(function()
{
$('.scroll-pane').each(
    function()
    {
        $(this).jScrollPane(
            {
                showArrows: $(this).is('.arrow')
            }
        );
        var api = $(this).data('jsp');
        var throttleTimeout;
        $(window).bind(
            'resize',
            function()
            {
                if (!throttleTimeout) {
                    throttleTimeout = setTimeout(
                        function()
                        {
                            api.reinitialise();
                            throttleTimeout = null;
                        },
                        50
                    );
                }
            }
        );
    }
)

});

这并没有解决问题,滚动条使 div 保持与网站原始加载时相同的宽度。 如需演示,只需访问 prisingh.com/#recent 并在页面加载后尝试调整窗口大小。

【问题讨论】:

  • 可能是在图像完全加载之前加载了滚动窗格!
  • @rynhe 我该怎么做呢?我尝试将 javascript 移到页面下方并移出标题,但没有任何区别。
  • 分享你的 html & jquery 代码
  • 我会尽快发布答案

标签: javascript jquery css html jscrollpane


【解决方案1】:

试试这个

$(document).ready(function() {
  var $images = $(".tumblr img")
    , imageCount = $images.length
    , counter = 0;
    $images.one("load",function(){
         counter++;
         if (counter == imageCount) {
             $('.scroll-pane').jScrollPane();
         } 
    }).each(function () {
        if (this.complete) {
            $(this).trigger("load");
        }
    });
});

【讨论】:

  • 这有帮助,谢谢!即使视频和文字帖子嵌入到 tumblr javascript 中,它也能正常工作吗?
  • 你知道我将如何编辑代码,以便当我调整网页加载的窗口大小时,jscrollpane 是动态的吗?没有什么对我有用:(
  • 你必须在窗口调整大小时调整 jscrollpane 的大小
  • 如果你能帮助我,我更新了我的问题。非常感谢!
  • 单独发布你的问题!!!!如果我不能帮助你,其他人会帮助你......我会尽力而为
猜你喜欢
  • 2020-08-16
  • 1970-01-01
  • 1970-01-01
  • 2021-11-30
  • 2011-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多