我使用了jquery stepcarousel插件,它运行正常...但是如何预加载插件使用的图像......我正在使用它,
<div id="mygallery" class="stepcarousel">
<div class="belt">
<div class="panel">
<img src="Images/img1.jpg" />
</div>
<div class="panel">
<img src="Images/img2.jpg" />
</div>
</div>
</div>
<script type="text/javascript">
stepcarousel.setup({
galleryid: 'mygallery', //id of carousel DIV
beltclass: 'belt', //class of inner "belt" DIV containing all the panel DIVs
panelclass: 'panel', //class of panel DIVs each holding content
autostep: { enable: true, moveby: 1, pause: 3000 },
panelbehavior: { speed: 500, wraparound: false, persist: true },
defaultbuttons: { enable: true, moveby: 1, leftnav: ['Images/lft_arrow.jpg', -5, 220], rightnav: ['Images/rit_arrow.jpg', -5, 220] },
statusvars: ['statusA', 'statusB', 'statusC'], //register 3 variables that contain current panel (start), current panel (last), and total panels
contenttype: ['inline'] //content setting ['inline'] or ['ajax', 'path_to_external_file']
})
</script>
如何预加载mygallery
div使用的图像,以避免闪烁.....
答案 0 :(得分:1)
在处理许多图像时,预加载不是一个好习惯,因为它会减慢用户的体验。 LazyLoading是加载图像的首选方式。但是对于你的具体问题,我希望这会有所帮助。
window.load是在DOM中加载所有元素时触发的事件。以下文章也使用相同的流程: http://www.appelsiini.net/2007/6/sequentially-preloading-images
答案 1 :(得分:1)
我不知道你是否愿意考虑这一点。但我曾经在你的位置,我找到的最好的方法是将整个#mygalley的东西放在一个单独的页面中,并从stepcarousel的ajax功能中调用它们。他们看起来不错。试试吧
但又一次。我认为顺利显示ajax加载器和加载时的淡化图像是整洁的。你可能会想到它的废话。