5

问题是当用户第一次访问该站点时,滑块没有正确显示。在测试滑块工作正常。 加载后滑块如何

或者实际上存在问题,即在第一次访问页面时它不会加载,但会在您刷新页面时(且仅当)显示。但否则会显示滑块但不会显示图像 滑块如何加载不佳

我查看了 Zurb 在Zurbs documentation for the Orbit slider 的文档,他们有一个示例文件,该原始演示文件在图像上方有一个链接(我删除了) 演示中的代码

然后,我使用关键字“轨道预加载图像”在 Google 上搜索了更多关于此主题的短语,并找到了一个具有预加载功能的解决方案。下面是我用来预加载的代码(我只修改了图片的路径)

<script language="javascript">
  function preload(arrayOfImages) {
    $(arrayOfImages).each(function(){
      $('<img/>')[0].src = this;
    });
  }
  preload([
    '../images/products/mill/slider/dentist.jpg',
    '../images/products/mill/slider/side.jpg',
    '../images/products/mill/slider/before.jpg',
    '../images/products/mill/slider/after.jpg',
    '../images/products/mill/slider/radio.jpg'
  ]);
</script>

我继续添加脚本,但它仍然没有加载。该页面的完整代码可在GitHub 上的 Gist中查看

图像滑块的设置代码可在GitHub 上的 Gist中查看

该站点托管在不支持 php 的 .net 环境中的服务器上。

4

1 回答 1

3

我遇到了同样的问题,经过一些研究,找到了适合我的答案;基本上,您可以使用 jquery 在加载时隐藏滑块。另请参阅此链接以获取更多信息:如何在 div #content 加载时显示 div #loading

查看您的代码,这应该可以工作(未经测试)

在该<head>部分中,添加此;

<script type="text/javascript">
jQuery(document).ready(function() {
// hide orbit slider on load when user browses to page
$('#featured.orbit').hide(); // hide div, may need to change id to match yours
$('.loading').show(); // show the loading gif instead

// then when the window has fully loaded
$(window).bind('load', function() {
$('.loading').hide(); // hide loading gif
$('#featured.orbit').fadeIn('slow'); // show orbit
});
});
</script>

在包含轨道滑块代码的 html 页面中(从您的页面复制的内容)

<!-- =======================================
ORBIT SLIDER CONTENT
======================================= -->
<div style="width:100%;">
<div style=" max-width:480px; margin: 0px auto;">
<div id="featured" >
<!-- your content etc..... -->
<span class="orbit-caption" id="radioCaption">Radiograph shows crown seated with   
excellent marginal integrity</span>
</div>
</div>


<?php // 
// load the loading image - you need to add one to your image directory
// see here to generate one: http://www.ajaxload.info/  ?>
<div class="loading">
<img src="http://www.yourdomain.com/path/to/folder/loading.gif"/>     
</div>


</div> <!-- end twelve columns-->

在您的 CSS 中,您需要隐藏 #featured div

#featured { display: none; background: #f4f4f4; height: 600px;}
#featured img { display: none; }
#featured.orbit { background: none; }
.loading {margin: 0 auto;text-align:center;margin:30px; }

希望有帮助!

于 2013-04-25T02:49:39.733 回答