You are loading two different jquery files with different file names (means both will be loaded by the browser). The one jquery will override the other on runtime.
I think while the first jQuery is waiting for the DOM to be ready, it will be overwritten by the second jQuery.
=> so the $(document).ready of one of the webparts will never be called because the "old" jQuery object does not exist anymore.
If you have full control of the webpart's code, then don't use $(document).ready!
Code of Weather Webpart:
function InitializeWeatherWebpart() { /* Code, which would be in the callback function of $(document).ready */ } // Add the following methods the the list of functions being called when DOM is ready _spBodyOnLoadFunctionNames.push('InitializeWeatherWebpart');
Code of Scroller Webpart:
function InitializeScrollerWebpartBtwImUnique_MaybeWithAGuid() { /* Code, which would be in the callback function of $(document).ready */ } // Add the following methods the the list of functions being called when DOM is ready _spBodyOnLoadFunctionNames.push('InitializeScrollerWebpartBtwImUnique_MaybeWithAGuid');
If you do it so, you are not dependent of a jQuery waiting for a ready DOM. SharePoint can do it also very good.