当Kendo UI Dropdown(或Kendo UI Calendar)框出现40 px时,如果页面由Google翻译翻译。 我可以轻松修复它,页面上只有一个或两个Kendo UI下拉框。
我检查' body'的价值。 css' top'变得等于40px, 并改变下拉位置。
var pixelsTopBody = $('body').css('top');
var kendoCalendarPosition = (parseInt($('.k-animation-container:eq(0)').css('top')) - 40) + "px";
if (pixelsTopBody == '40px') {
$('.k-animation-container:eq(0)').css('top', kendoCalendarPosition);
}

在单击带有.k-select类的按钮之前,页面上不存在带有类.k-animation-container的Kendo UI元素。如果页面上只有2个Dropdown,我开始点击第二个,那么在这个阶段只有一个带有.k-animation-container类的元素。要修复它,我需要检查$(' .k-animation-container')长度。一切正常:
$("body").delegate(".k-select:eq(1)", "click", function () {
var pixelsTopBody = $('body').css('top');
if ($('.k-animation-container').length == 1 && pixelsTopBody == '40px') {
var kendoCalendarPosition = (parseInt($('.k-animation-container:eq(0)').css('top')) - 40) + "px";
$('.k-animation-container:eq(0)').css('top', kendoCalendarPosition);
}
if ($('.k-animation-container').length == 2 && pixelsTopBody == '40px') {
var kendoCalendarPosition = (parseInt($('.k-animation-container:eq(1)').css('top')) - 40) + "px";
$('.k-animation-container:eq(1)').css('top', kendoCalendarPosition);
}
});

但如果页面上有5个Kendo UI Dropdown,该怎么办?在这种情况下,上述方法不起作用。可能解决方法是使所有带有类.k-animation-container的元素在页面加载时或第一次单击后存在?如何使用Kendo UI?
我可以通过Kendo UI DropdownLists的id来修复偏移量。例如,如果第5个DropdownList有id =" ddlDownlineWithPendingOrDeclinedOrders"。
$("body").delegate(".k-input:eq(4)", "click", function () {
var pixelsTopBody = $('body').css('top');
if ($('#ddlDownlineWithPendingOrDeclinedOrders-list').length == 1 && pixelsTopBody == '40px') {
var kendoCalendarPosition = (parseInt($('#ddlDownlineWithPendingOrDeclinedOrders-list').parent().css('top')) - 40) + "px";
$('#ddlDownlineWithPendingOrDeclinedOrders-list').parent().css('top', kendoCalendarPosition);
}
});

但我希望找到更多通用方法来修复5个Kendo UI DropdownLists的偏移,然后由Google翻译。