gpt4 book ai didi

javascript - TypeError : $(. ..).SetHeight 不是函数

转载 作者:行者123 更新时间:2023-11-28 04:57:27 31 4
gpt4 key购买 nike

我正在为我的网站编写一个流畅的布局,我使用 jQuery 来设置 DIV 的高度和宽度。在 SetHeight 函数中,我将所需高度作为函数的第一个参数,然后减去边距并应用新高度。

function SetHeight(height){
var outer = $(this).outerHeight(true);
var current = $(this).height();
var margin = o-c;
height = height-margin;
$(this).css("height",height);
};

这是触发错误消息的代码:

var h = $(window).height();
$("#Slider").SetHeight(h-260).removeClass("mobile");

我正在使用 $(document).ready$(window).resize 和一个计时器来检查我是否需要调整任何 DIV 的大小。

我错过了什么?

最佳答案

您已经定义了一个函数,但您将其用作 jQuery 对象上的方法。

如果你这样做:

function f(param1, param2){
// code
}

你需要像这样使用它:

f(div, 4);

如果你想像现在一样使用它,你需要做这样的事情:

$.fn.SetHeight = function(param1, param2){
// code
}

所以你可能想要这个:

function SetHeight(height){
var outer = this.outerHeight(true);
var current = this.height();
var margin = outer-current;
height = height-margin;
this.css("height",height);
return this; // to allow chaining
};
$.fn.SetHeight = SetHeight; // add as a jQuery method

然后你可以使用你的代码:

$("#Slider").SetHeight(h-260).removeClass("mobile");

您可以像在示例中那样使用它。

请注意,this 已经是一个 jQuery 对象,所以您不需要像这样包装它:$(this)。并且您应该在末尾返回 this 以支持链接 - 就像在末尾调用 .removeClass("mobile") 一样。


另请参阅:http://api.jquery.com/jQuery.fn.extend/

关于javascript - TypeError : $(. ..).SetHeight 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20595213/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com