Reputation: 63
I am trying to make a nice slidebox to first rate the article and then close the ratingbox to view the video. I am doing this on Joomla and using this code a little edited: http://jsfiddle.net/AetnV/72/
This is my version of the code: (The problem is on static html pages (non joomla) it works perfect, but not on Joomla I have disabled on the javascript and iframe blacklisting from JCE and global configuration but still nothing, I tried it also with other themes its same.
<script type='text/javascript' src='http://code.jquery.com/jquery-1.5.2.js'></script>
<link rel="stylesheet" type="text/css" href="/css/normalize.css">
<link rel="stylesheet" type="text/css" href="/css/result-light.css">
<style type='text/css'>
* { margin: 0; padding: 0; outline: none; }
body { background: #CCC; margin: 0; padding: 0; font: 10px normal Arial, Helvetica, sans-serif; }
/*--Main Image Area--*/
.main_image {
margin: 20px 0 0 20px; width: 650px; height: 400px;
float: left; background: white; position: relative; overflow: hidden;
color: #fff;
moz-box-shadow: 0px 0px 4px #666;
-webkit-box-shadow: 0px 0px 4px #666;
box-shadow: 0px 0px 4px #666;
}
.main_image h2 { font-size: 2em; font-weight: normal; margin: 0 0 5px; padding: 10px; }
.main_image p { font-size: 1.2em; padding: 10px; margin: 0; line-height: 1.6em; }
.main_image .desc { position: absolute; bottom: 0; left: 0; width: 100%; display: none;}
.main_image .block { height: 410px; width: 100%; background: #111; border-top: 1px solid #000; }
.main_image a.collapse {
background: black; height: 30px; width: 650px;
position: absolute; top: -30px; right: 0px;
font: normal 12px arial; color: white; text-align: center;
}
.main_image a.show { background-position: left bottom; }
</style>
<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
$(document).ready(function() {
//Show Banner
$(".main_image .desc").show(); //Show Banner
$(".main_image .block").animate({ opacity: 1 }, 1 ); //Set Opacity
//Toggle Teaser
$("a.collapse").click(function(){
$(this).next().slideToggle();
$(this).toggleClass("show");
});
});//Close Function
});//]]>
</script>
<div class="main_image">
<br><br><br><br><br><br>
<center><img src="http://upload.macromedia.com/exchange/flash/previews/300x200_200x200.jpg" width=205" height="205"></a></center>
<div class="desc" style="display: block; ">
<a href="#" class="collapse show">Click Me!</a>
<div class="block" style="opacity: 1; display: none; ">
<center><br><br><br><iframe width="420" height="315" src="http://www.youtube.com/embed/AxcM3nCsglA" frameborder="0" allowfullscreen></iframe></iframe>
</center>
</div>
</div>
</div>
Any help is greatly appreciated. Thank you
*Also if you have a better way to suggest to do what I am trying to do please tell me. Its my first attempt I was thinking to make it 2divs and onclick one would overlap the other but I am afraid of spiders thinkings its hidden text etc..
Upvotes: 3
Views: 359
Reputation: 19733
Try using the following:
$document = JFactory::getDocument();
$js = ' $(document).ready(function() {
$(".main_image .desc").show();
$(".main_image .block").animate({ opacity: 0.85 }, 1 );
$("a.collapse").click(function(){
$(this).next().slideToggle();
$(this).toggleClass("show");
});
}); ';
$document->addScriptDeclaration($js);
If $document = JFactory::getDocument();
is already being used, remove it.
If $doc = JFactory::getDocument();
is being used, then in the code above, change to this:
$doc->addScriptDeclaration($js);
Upvotes: 1
Reputation: 7059
Instead of this code-
<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
$(document).ready(function() {
//Show Banner
$(".main_image .desc").show(); //Show Banner
$(".main_image .block").animate({ opacity: 1 }, 1 ); //Set Opacity
//Toggle Teaser
$("a.collapse").click(function(){
$(this).next().slideToggle();
$(this).toggleClass("show");
});
});//Close Function
});//]]>
</script>
Try this-
<script type='text/javascript'>//<![CDATA[
var $j = jQuery.noConflict();
$(window).load(function(){
});//]]>
$j(document).ready(function() {
//Show Banner
$j(".main_image .desc").show(); //Show Banner
$j(".main_image .block").animate({ opacity: 1 }, 1 ); //Set Opacity
//Toggle Teaser
$j("a.collapse").click(function(){
$j(this).next().slideToggle();
$j(this).toggleClass("show");
});
});//Close Function
</script>
Upvotes: 0