1

我在右下角处理这个问题时遇到的奇怪问题是一个历史部分,其中有一个可向右或向左移动的可滚动部分。在加载时,它会选择一个随机数并移动到它。

问题是在加载时(不移动)它加载到错误的位置,并且在使用 api 移动时它移动到错误的偏移量(正确的图像只是没有正确定位)。此问题仅发生在Webkit浏览器(SafariChromium)中

任何帮助将不胜感激,因为我似乎无法深入了解这个 IE 和 FF 的行为很奇怪!:(

JavaScript

$(document).ready(function(){
    $('.timeline-container').scrollable({circular: true, next: ".timeline-next", prev: ".timeline-prev"});
    var api_timeline = $(".timeline-container").data("scrollable");
    //console.info(api_timeline.getSize());
    var timeline_random_index = Math.floor( Math.random() * ( api_timeline.getSize()+1) )+1;
    //console.info(timeline_random_index);
    api_timeline.move( timeline_random_index, 1000 );
});

HTML

<div class="timeline-container">
    <div class="timeline-items">
        <div class="timeline-item">
            <img src="http://identica.local/wp-content/uploads/2010/10/timeline_thumb01.png" />
            <p><span class="timeline-item-date">1996</span> Russian Flag carrier Aeroflot created</p>
        </div>              
        <div class="timeline-item">
            <img src="http://identica.local/wp-content/uploads/2010/10/timeline_thumb02.png" />
            <p><span class="timeline-item-date">1997</span> Universal Studios created</p>
        </div>              
        <div class="timeline-item">
            <img src="http://identica.local/wp-content/uploads/2010/10/timeline_thumb03.png" />
            <p><span class="timeline-item-date">1998</span> Vodafone brand refresh</p>
        </div>              
        <div class="timeline-item">
            <img src="http://identica.local/wp-content/uploads/2010/10/timeline_thumb04.png" />
            <p><span class="timeline-item-date">1998</span> Wembley Stadium identity created</p>
        </div>              
        <div class="timeline-item">
            <img src="http://identica.local/wp-content/uploads/2010/10/timeline_thumb05.png" />
            <p><span class="timeline-item-date">2000</span> Jonnie Walker brand created</p>
        </div>              
    </div>              
</div>

CSS

.timeline-container {overflow:hidden; width: 245px;position:relative; min-height: 170px;height: 170px !important;}
.timeline-container .timeline-items { width:20000em; position:absolute;}
.timeline-container .timeline-item {float:left;text-align:center;position: relative;}
.timeline-container .timeline-items p { font-weight: normal; font-size: 13px; margin-bottom:0;}
.timeline-container .timeline-items span { font-weight: bold;}

更新

真的很奇怪,我已经在jsFiddle上设置了它,它在所有浏览器中都能正常运行。使用完全相同的代码。不是它更令人困惑。页面上的“其他”必须影响它。

更新 2

我刚刚以某种方式“修复”了它,但这是一个肮脏的小技巧 - 不理想但有效:

$(document).ready(function(){
    $('.timeline-container').scrollable({circular: true, next: ".timeline-next", prev: ".timeline-prev"});
    var api_timeline = $(".timeline-container").data("scrollable");
    var timeline_random_index = Math.floor( Math.random() * ( api_timeline.getSize()+1) )+1;
    var timeline_random_index_pixles = timeline_random_index * 245 * -1;
    $(".timeline-items").css("left", timeline_random_index_pixles+"px")
});
4

1 回答 1

0

通过在加载时使用自定义定位而不是可滚动功能来修复。

$(document).ready(function(){
    $('.timeline-container').scrollable({circular: true, next: ".timeline-next", prev: ".timeline-prev"});
    var api_timeline = $(".timeline-container").data("scrollable");
    var timeline_random_index = Math.floor( Math.random() * ( api_timeline.getSize()+1) )+1;
    var timeline_random_index_pixles = timeline_random_index * 245 * -1;
    $(".timeline-items").css("left", timeline_random_index_pixles+"px")
});
于 2010-10-14T21:45:05.297 回答