forked from Botanical/BotanJS
Astro Classes
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
(function(){
|
||||
var ns = __namespace( "Astro.Blog.Components.Spoiler" );
|
||||
/** @type {Dandelion} */
|
||||
var Dand = __import( "Dandelion" );
|
||||
/** @type {Dandelion.IDOMElement} */
|
||||
var IDOMElement = __import( "Dandelion.IDOMElement" );
|
||||
/** @type {Astro.Bootstrap} */
|
||||
var Bootstrap = __import( "Astro.Bootstrap" );
|
||||
/** @type {Astro.Blog.Config} */
|
||||
var Config = __import( "Astro.Blog.Config" );
|
||||
|
||||
var Spoiler = function( id )
|
||||
{
|
||||
var sp_stage = Dand.id( "spoiler_" + id );
|
||||
var sp_display = ( sp_stage.nodeName == "span" ) ? "inline-block" : "block";
|
||||
|
||||
var ostage = IDOMElement( sp_stage );
|
||||
var sp_title = ostage.first( "DIV" );
|
||||
var sp_content = ostage.last( "DIV" );
|
||||
|
||||
sp_title.onclick = function ()
|
||||
{
|
||||
var s_style = sp_content.style;
|
||||
|
||||
if( s_style.display == sp_display )
|
||||
{
|
||||
s_style.display = "none";
|
||||
sp_title.removeAttribute( "clicked" );
|
||||
}
|
||||
else
|
||||
{
|
||||
s_style.display = sp_display;
|
||||
sp_title.setAttribute( "clicked", "" );
|
||||
}
|
||||
};
|
||||
|
||||
sp_stage.hasAttribute( "expanded" ) && sp_title.onclick();
|
||||
};
|
||||
|
||||
var sps = Config.get( "Spoiler" );
|
||||
|
||||
Bootstrap.regInit(function() {
|
||||
for( var i in sps )
|
||||
{
|
||||
new Spoiler( sps[i] );
|
||||
}
|
||||
});
|
||||
|
||||
})();
|
||||
Reference in New Issue
Block a user