Old English slean "to smite, strike, beat," also "to kill with a weapon, slaughter" (class VI strong verb; past tense sloh, slog, past participle slagen), from Proto-Germanic *slahanan "to hit" (source also of Old Norse and Old Frisian sla, Danish slaa, Middle Dutch slaen, Dutch slaan, Old High German slahan, German schlagen, Gothic slahan "to strike"). The Germanic words are from PIE root *slak- "to strike" (source also of Middle Irish past participle slactha "struck," slacc "sword").
Modern German cognate schlagen maintains the original sense of "to strike." Meaning "overwhelm with delight" (mid-14c.) preserves one of the wide range of meanings the word once had, including, in Old English, "stamp (coins); forge (weapons); throw, cast; pitch (a tent), to sting (of a snake); to dash, rush, come quickly; play (the harp); gain by conquest."