Applying OOP with jQuery

Only assigning a function to a property of an object does not associated this inside the function with the object. It is the way how you call the function.

By calling

.hover(my_zoomin.hoverOn,...)

you are only passing the function. It will not "remember" to which object it belonged. What you can do is to pass an anonymous function and call hoverOn inside:

.hover(function(){ my_zoomin.hoverOn(); },...)

This will make the this inside hoverOn refer to my_zoomin. So the call to this.hoverReset() will work. However, inside hoverOn, you will not have a reference to the jQuery object created by the selector.

One solution would be to pass the selected elements as parameter:

var zoomin = function() {
   // Constructor goes here
};

zoomin.prototype = {
   hoverOn: function($ele) {
      this.hoverReset($ele);
      // More logic here using jQuery's $ele...
   },
   hoverReset: function($ele) {
      // Some logic here.
   }
};


var my_zoomin = new zoomin();
$(".some_class").hover(function() { 
    my_zoomin.hoverOn($(this));  // pass $(this) to the method
}, function() { 
    return null; 
});

As a next step, you could consider making a jQuery plugin.