Hmmm...
Code:
<div class="slide" id="NOJS">
<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/reviews-slide.png"></img>
</div>
<div class="slide" id="WITHJS" style="display: none;">
<?php if ( function_exists( 'meteor_slideshow' ) ) { meteor_slideshow(); } ?>
</div>
<?php if ( function_exists( 'meteor_slideshow' ) ) { ?>
<script type="text/javascript">
document.getElementById("NOJS").style.display = "none";
document.getElementBYId("WITHJS").style.display = "block";
</script>
<?php } ?>
I think that does it.
SCENARIO 1:
Assume JS is disabled and the meteor_slideshow() function does exist.
The above will end up creating the slideshow code in the SECOND <div class="slide">.
But because JS is disabled, the code to hide the first <div> and show the second <div> won't run, so the slideshow space won't show up.
SCENARIO 2:
JS is enabled. The slideshow function doesn't exist.
Because the slideshow function doesn't exist, the JS code to display the second <div> won't be dropped in the page.
Because it doesn't exist, there will be no content in the second <div>, but since that div is hidden it doesn't matter.
SCENARIO 3:
JS is enabled. The slideshow function exists.
The second <div> gets the slideshow content.
Because the slideshow exists, the JS code *DOES* get dropped into the page.
Because JS is enabled, it hides the first <div> with the image and displays, instead, the <div> with the slideshow.