رویداد onload استاندارد هست، منتها در مرورگرهای قدیمی مثل ie6 برای عکسها و لود کردن اسکریپتها کار نمیکنه و باید از روش های دیگه استفاده کرد.
مثلا از پراپرتی complete میتونید استفاده کنید که هر وقت عکس کامل لود شد مقدار true بر میگردنه در غیر اینصورت false برمیگردونه:
http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_img_complete
دو مورد بعدی هم عملا هیچ فرقی با هم ندارن و از یک رو ش استفاده می کنند، مخصوصا" روش سومی که فقط پیچونده و یه روش من درآوردی! رو پیاده کرده اصلا به نظر من نیازی به استفاده از jQuery نبود (فقط از خاصیت data برای اینکار استفاده کرده)، مگر اینکه واقعا بخواید یک کار بزرگ انجام بدید که در اون از jQuery استفاده شده و برای راحتی بیشتر از jQuery استفاده کرد.
--------
در مورد سوال دوستمون هم میتونند از css هم به تنهایی برای اینکار استفاده کنید! البته به دقیق JavaScript نیست ولی در هرصورت همون کار رو تقریبا انجام میده!
روش هم به اینصورت هست که برای تگهای img در صفحه یک پس زمینه در نظر بگیرید و یک عکس متحرک کوچک رو در اون قرار بدید! حالا بستگی به خودتون داره که بخواید متن رو هم داخل عکس قرار بدید یا جداگانه. اگر بخواید متن رو جداگانه قرار بدید میتونید از خاصیت content در css استفاده کنید.
موفق باشید.