I defined one command to chect the current page number, if odd page then show odd page objects, else show even page objects, the codes from original question, and changed from it.
But I found one problem, when I use many times \oddeven in one odd page, if the current page can't contain it at page bottom, it will be float to the new page (even page), that is say, even page have odd page object, I don't know how to sove it.
\documentclass{article}
\usepackage[strict]{changepage}
\usepackage{float}
\newcommand*{\oddeven}{\checkoddpage\ifoddpage \par \rule{10cm}{4cm}\par\vspace{3mm} \else EVEN page \fi}
\begin{document}
\oddeven
\oddeven
\oddeven
\oddeven
\oddeven
\oddeven
\oddeven
\oddeven
\end{document}


\pagetotalcontains the vertical space that is already occopied,\pagegoalthe total vertical space of the page, i.e. to obtain the available space, subtract them\dimexpr\pagegoal-\pagetotal\relax. – Henri Menke Jun 17 '18 at 07:03\checkoddpagecommand. If they have different size much more complicated checks are needed. – Ulrike Fischer Jun 17 '18 at 10:22