Я предполагаю (может быть ошибочным, но я сначала подумал ...), что высота элемента составляет 40px, а затем он оборачивается полем / отступом / границей в 1px.Попробуйте указать следующее в вашем CSS:
div[data-role=header] {margin:0;border:0;padding:0}
и посмотрите, если у вас все еще есть эта проблема?
Согласно Робу W, в jQuery есть функция .outerHeight (), которая будет включатьотступ в его расчете.Попробуйте использовать это вместо, если вы не хотите удалять отступы.