我试图返回一个在jQuery中的resize事件的参数中的函数内部生成的变量。每次用户调整页面大小时都应更新变量。我想使用变量来设置div的宽度('.slide')。因此,每次用户调整浏览器大小时,我都希望.slide元素具有浏览器的宽度。
$(window).resize(function(){
var windowwidth = $(window).outerWidth();
return windowwidth;
})
我想使用windowwidth
//To make each slide the width of the window
var slideWidth = $('.slide').css("width", windowwidth)
我将在这里使用slideWidth
$('.slide').css('width', slideWidth);
我可能想要使用windowwidth其他地方
我尝试使用宽度100%,但我无法浮动100%的左图像。我试图制作一个占据整个页面宽度的幻灯片。
伙计们感谢您的答案,但我看到的一些内容并没有证明我如何在代码的其他部分使用宽度。你只显示调整大小部分。但还有另一部分,moveSlide()在大多数答案中都没有获得宽度。到目前为止,大多数答案中都没有看到它的可重用性。
答案 0 :(得分:1)
您必须在全球范围内windowwidth
var windowwidth=$(window).outerWidth();
$(window).resize(function(){
windowwidth = $(window).outerWidth();
//return windowwidth;
demo();
});
function demo()
{
var slideWidth = $('.slide').css("width", windowwidth)
slides.wrapAll('<div id = "slideHolder"></div>')
slides.css({"float" : "left"});
// var bodywidth = $('body').outerWidth();
// var windowwidth = $(window).outerWidth()
$('.slide').css('width', slideWidth);
$("#slideHolder").css("width", slideWidth * numberOfSlides );
}
demo();
答案 1 :(得分:1)
以下是您要查找的内容,您无需在全球范围内声明slideWidth
。使用$(window).width()
在调整大小时查找当前窗口宽度。工作fiddle。
答案 2 :(得分:0)
$(window).resize(function(){
var windowwidth = $(window).outerWidth();
return windowwidth;
})
这里windowwidth将在函数范围内,然后返回值。
它没有将其设置在其他地方访问的全局范围内。
你可以尝试
window.windowwidth = $(window).outerWidth();
将其纳入全球范围
答案 3 :(得分:0)
只是创建一个全局变量,而不是在函数内部创建一个局部变量!
或者您可以使用localStorage来保存如下所示的宽度: -
$.localStorage( 'foo', {data:'bar'} );
$.localStorage( 'foo' );
答案 4 :(得分:0)
$(document).ready(function(){
var windowwidth = $(window).outerWidth();
您必须将变量windowwidth
设为全局变量,并使用$(document).ready
函数中的实际窗口对其进行初始化。
请注意,您必须在var
函数中删除窗口前面的$(window).resize
。否则你在那里使用一个局部变量,不能在函数外部使用。
答案 5 :(得分:0)
您声明windowWidth
属于函数范围,然后您尝试在全局范围内访问它,这将无效。您必须在全局范围内声明windowWidth
并在函数中使用它。
我还必须对slideWidth
做同样的事情才能使你的演示工作,你可以在这里看到它:
答案 6 :(得分:0)
只需在全局范围内声明您的变量
var windowwidth=0;
$(window).resize(function(){
windowwidth = $(window).outerWidth();
return windowwidth;
})