真的不确定我在这里缺少什么,但是内联样式的高度不会更新。
代码如下:
var rightSideHeight;
var optionsHeight;
$(".quickViewContent .selectboxit-container").live("click", function() {
rightSideHeight = $(".quickViewPopup .product-details-page .overview").height();
optionsHeight = $(this).find(".selectboxit-options").height();
var newHeight = rightSideHeight + optionsHeight;
$(".quickViewPopup.active .quickViewContent").css("height", newHeight + "px");
});
$("#product_childattribute_size_@(Model.Id)").bind({
"close": function (ev, obj) {
console.log("rightSideHeight = " + rightSideHeight);
$(".quickViewContent").css("height", rightSideHeight + "px");
// Tried
//$(".quickViewContent").removeAttr("style").css("height", rightSideHeight + "px");
//Tried
//$(".quickViewContent").get(0).style.setProperty('height', rightSideHeight + 'px');
}
});
因此,当单击按钮时,我会调整弹出式窗口的高度,效果很好<div class="quickViewContent product-details-page" style="height: 653px;">
在绑定处理程序中,我想还原样式,因为它记录了原始高度,所以我可以确认绑定有效。但是内联样式不会更新,我觉得这很奇怪,因为它看起来很简单。
控制台输出rightSideHeight = 365
,所以我期望<div class="quickViewContent product-details-page" style="height: 365px;">
也没有控制台错误。
为什么不更新? 谢谢
答案 0 :(得分:0)
您可以用以下代码替换最后一行代码,看看是否可行>
$(“。quickViewContent”)。css(“ height”,rightSideHeight +“ px”);
答案 1 :(得分:0)
噢,我想出来了,基本上是因为我在selectboxit按钮上使用click事件来设置新高度,但是在selectboxit上使用close事件来尝试恢复高度。 但是因为我单击了按钮以关闭下拉菜单,所以它互相抵消了。因此,点击事件是取消绑定事件。
这是我需要做的。
var rightSideHeight;
var optionsHeight;
$("#product_childattribute_size_@(Model.Id)").bind({
"open": function (ev, obj) {
rightSideHeight = $(".quickViewPopup .product-details-page .overview").height();
optionsHeight = $(this).next().find(".selectboxit-options").height();
var newHeight = rightSideHeight + optionsHeight;
console.log("newHeight = " + newHeight);
$(".quickViewPopup.active .quickViewContent").css("height", newHeight + "px");
}
});
$("#product_childattribute_size_@(Model.Id)").bind({
"close": function (ev, obj) {
console.log("rightSideHeight = " + rightSideHeight);
$(".quickViewContent").css("height", rightSideHeight + "px");
}
});
所以基本上使用打开和关闭绑定事件,并使用它们设置我的身高。有时候,这些东西让我发疯了。
谢谢大家
答案 2 :(得分:0)
像这样使用您的代码,它将起作用
$("#someElement").css({'height': setHeight+"px !important" });