我一直在尝试为jquery循环实现javascript resize但是当我转到下一张幻灯片并调整浏览器窗口大小时,我放松了图像的宽度,一切都变成了香蕉。不知道接下来要做什么......
这是javascript:
jQuery(function($) {
function resizeImage() {
var slideImageHeight = $(window).height()-110,
slideImageWidth = $('#slideshow img').width(),
slideShowImageHeight = $(window).height()-123;
$('.gallery_item').css('height', slideImageHeight);
$('#slideshow img').attr('height', slideImageHeight);
$('#slideshow').css('height', slideShowImageHeight);
$('#slideshow img').attr('height', slideShowImageHeight);
$('.pgwrap').css('width',slideImageWidth);
};
$(window).resize(function(){
resizeImage();
}).trigger('resize');
$(window).load(function(){
resizeImage();
});
$('#slideshow').cycle({
fx: 'scrollHorz',
speed: 200,
prev: '#prev',
next: '#next',
timeout: 0
});
});
你也可以在这里看到它运行。 http://stoorage.com/index2.html
答案 0 :(得分:1)
我在这里看到几个问题:
1)'#slideshow img'不是离散的,因为#slideshow中有多个图像。 2)调整大小函数本身在窗口加载和调用时被调用。调整大小,但不是在循环图像后。
粗略的调查表明该插件通过其'after'参数确实支持回调,所以试试这个:
$('#slideshow').cycle({
fx: 'scrollHorz',
speed: 200,
prev: '#prev',
next: '#next',
timeout: 0,
after: resizeImage
});
我认为你可以通过扩展选择器来缓解问题1):
slideImageWidth = $('#slideshow img:visible').width()