0

我试图返回一个在 jQuery 中调整大小事件的参数中的函数内部创建的变量。每次用户调整页面大小时,都应更新该变量。我想使用该变量来制作 div 的宽度('.slide')。所以每次用户调整浏览器的大小时,我都希望 .slide 元素具有浏览器的宽度。

$(window).resize(function(){
        var windowwidth = $(window).outerWidth();
        return 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() 在大多数答案中都没有得到宽度。到目前为止,我在大多数答案中都看到了它不可重复使用的内容。

4

7 回答 7

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();

工作小提琴

于 2013-10-08T08:39:51.243 回答
1

这是您要查找的内容,无需slideWidth全局声明。用于$(window).width()在调整大小时查找当前窗口宽度。工作小提琴

于 2013-10-08T09:03:11.063 回答
0
$(window).resize(function(){
    var windowwidth = $(window).outerWidth();
    return windowwidth;
}) 

这里 windowwidth 将在函数的范围内,然后将返回该值。

它没有将其设置在全局范围内以供在其他地方访问。

你可以试试

window.windowwidth =  $(window).outerWidth();

让它在全球范围内

于 2013-10-08T08:40:43.060 回答
0

为此,只需创建一个全局变量,而不是在函数内部创建一个局部变量!

或者您可以使用 localStorage 来保存特定宽度,如下所示:-

$.localStorage( 'foo', {data:'bar'} );

$.localStorage( 'foo' );
于 2013-10-08T08:40:59.640 回答
0

工作小提琴

$(document).ready(function(){
  var windowwidth = $(window).outerWidth();

您必须使变量成为windowwidth全局变量,并使用函数中的实际窗口对其进行初始化$(document).ready。请注意,您必须var在函数中删除 windowwith 前面的$(window).resize。否则你在那里使用一个局部变量,它不能在函数之外使用。

于 2013-10-08T08:41:11.893 回答
0

你声明windowWidth在一个函数的范围内,然后你试图在全局范围内访问它,这是行不通的。您必须windowWidth在全局范围内声明并在函数中使用它。

我也必须这样做slideWidth才能让你的演示工作,你可以在这里看到它的实际效果:

JSFiddle 演示

于 2013-10-08T08:41:44.940 回答
0

只需在全局范围内声明您的变量

var windowwidth=0;

$(window).resize(function(){
        windowwidth = $(window).outerWidth();
        return windowwidth;
    }) 
于 2013-10-08T08:43:19.167 回答