If this is a singleplayer campaign, you can fake the elevator just like how it's done in the HL1 campaign (e.g. the transition from c1ac1 to c1a2, the end of Unforeseen Consequences and start of Office Complex). This is probably the easiest solution.
Basically there's no moving elevator whatsoever. Just a room that looks like an elevator, a set of doors, and a button inside to trigger a trigger_changelevel.
After the level transition you're taken to an identical "elevator" room. An env_shake creates a rumbling and various ambient_generics creates noise, together creating the illusion of movement. Do this for a few seconds, then trigger a ambient_generic with a "ding!" sound and trigger the doors to open.
Add other details/effects to taste.
If it has to be within one level, then as Urby says a trigger_teleport has no relative offset in vanilla GoldSrc which would be very obvious and immersion-breaking. Additionally, to "toggle" a trigger_teleport you need to use a multisource master as trigger_teleport cannot be triggered on/off directly.
Another solution, which is a lot more complex than the others, is instead of using func_door for the doors you use func_train. Essentially 3 trains moving together to create the elevator.
This sort of setup needs careful timing and path_corner's Fire on Pass key can be of great help with that.