wordpress widget missing jquery

Your first two problems: $ and jQuery is not defined. $ is just an alias for jQuery. Your first two problems are the same with different names.

I think you do not write a plugin or a function in your functions.php. I think you put your code simply in the template file and expect that this should work. That’s basically the problem.

jQuery is simply not loaded when you request it. Often jQuery is loaded in the footer, this means after you try to access jQuery. We can solve this very easily with a enqueued JavaScript

add_action( 'init', 'enqueue_skormix_widget_js', 20 );

function enqueue_skormix_widget_js() {
  wp_enqueue_script(
    'skormix-widget',
    'http://skormix.com/mywidget/widget.js',
    array( 'jquery' ),
    false,
    true
  );
}

Put this lines of code in your functions.php and remove the <script> tag from the template. The function will be hooked in the init hook (a very early hook) and enqueue your script with the the dependency jquery and loaded it into the footer.

The dependency tells WordPress to load the script after the dependenciy (or dependencies) are loaded. In this case, it will be loaded after jQuery is loaded.

Now we solved two problems. jquery and it’s alias $ is defined.

Let’s have a closer look at your last problem: something is not an function of undefined.
Sure, if $ is not defined, you can not call a method of it. After we have defined $ with propper enqueueing your script, $ is no longer undefined.

A simple RTFM problem.