我有一个输入框,当左侧的过滤器下拉更改时,它会动态调整大小以显示相同的长度。
我有一些 jQuery 计算每次用户从下拉列表中更改过滤器时的宽度偏移量。它可以在 IE 和 Firefox 中正常工作。但由于某种原因,它在 Chrome 中失败并继续缩小输入框。
知道为什么会这样吗?
这是重新调整大小的代码:
$('#refineDropdown li').click(function() {
var tmp = $('#refine').width();
$('#refine').html($(this).text()); // sets the text of the button to the new selection
$('#refine').removeClass('refineClicked'); // temp css restyling
$("#refineDropdown").hide(); // hides the dropdown
testLength(); // adjusts the width of the input box suggestions drop down
$('#search').css('width', $('#search').width() + (tmp - $('#refine').width())); // calculates the new width offset and makes the adjustment
});
function testLength() {
if ($('#refine').text().length > 7) {
$('#refine').html($('#refine').text().substring(0, 6) + "...");
}
$('#dropdown').css('width', $('#search').width() + 1);
$('#dropdown').css('margin-left', $('#refine').width() + 13);
}