MediaWiki:Common.js/CollapseElements.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Böhrer (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Böhrer (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 14: | Zeile 14: | ||
//Ausnahme für collapsible's die ein selflink besitzen müssen immer ausgeklappt sein | //Ausnahme für collapsible's die ein selflink besitzen müssen immer ausgeklappt sein | ||
var $that = $(this), css_width = $that.css('width'), attr_width = $that.attr('width'); | var $that = $(this), css_width = $that.css('width'), attr_width = $that.attr('width'); | ||
//Wenn die div ein "selflink" besitzt muss es ausgeklappt sein (selected muss entfernt werden) | //Wenn die div ein "selflink" besitzt muss es ausgeklappt sein (selected muss entfernt werden) | ||
//console.log($(this).value); | //console.log($(this).value); | ||
$(this).children('.body').each( function() { | |||
if(this.innerHTML.indexOf('selflink') !== -1 ){ | |||
//$(this).siblings(':not(.title)').stop(true, true).fadeIn(); | |||
$that.removeClass('selected'); | |||
//$(this).children('.title').click(); | |||
//alert(this.innerHTML); | |||
} | |||
}); | |||
var which = $that.hasClass('selected') ? collapse_action_show : collapse_action_hide; | |||
if ( (!css_width || css_width == 'auto') && (!attr_width || attr_width == 'auto') ) { | if ( (!css_width || css_width == 'auto') && (!attr_width || attr_width == 'auto') ) { | ||
Zeile 37: | Zeile 47: | ||
}); | }); | ||
}); | }); | ||
Version vom 7. Dezember 2011, 14:12 Uhr
/* Any JavaScript here will be loaded for all users on every page load. */
//<source lang="javascript">
// Faster Collapsible Containers
// Maintainer: [[User:Darklama]]
// images to use for hide/show states
var collapse_action_hide = 'http://upload.wikimedia.org/wikipedia/commons/1/10/MediaWiki_Vector_skin_action_arrow.png';
var collapse_action_show = 'http://upload.wikimedia.org/wikipedia/commons/4/41/MediaWiki_Vector_skin_right_arrow.png';
// toggle state of collapsible boxes
function collapsible_boxes()
{
$('div.collapsible').each( function() {
//Ausnahme für collapsible's die ein selflink besitzen müssen immer ausgeklappt sein
var $that = $(this), css_width = $that.css('width'), attr_width = $that.attr('width');
//Wenn die div ein "selflink" besitzt muss es ausgeklappt sein (selected muss entfernt werden)
//console.log($(this).value);
$(this).children('.body').each( function() {
if(this.innerHTML.indexOf('selflink') !== -1 ){
//$(this).siblings(':not(.title)').stop(true, true).fadeIn();
$that.removeClass('selected');
//$(this).children('.title').click();
//alert(this.innerHTML);
}
});
var which = $that.hasClass('selected') ? collapse_action_show : collapse_action_hide;
if ( (!css_width || css_width == 'auto') && (!attr_width || attr_width == 'auto') ) {
$that.css('width', $that.width() );
}
$(this).children('.title').each( function() {
$(this).prepend('<span class="action"><a><img src="'+which+'" /></a></span>').click( function() {
var which = $that.toggleClass('selected').hasClass('selected')
? collapse_action_show : collapse_action_hide;
$(this).find('span.action img').attr('src', which);
if ( which == collapse_action_show ) {
$(this).siblings(':not(.title)').stop(true, true).fadeOut();
} else {
$(this).siblings(':not(.title)').stop(true, true).fadeIn();
}
}).click();
});
});
$( "table.collapsible" ).each( function() {
var $table = $(this), rows = this.rows, cell = rows.item(0).cells.item(0);
var which = $table.hasClass('selected') ? collapse_action_show : collapse_action_hide;
var css_width = $table.css('width'), attr_width = $table.attr('width');
if ( (!css_width || css_width == 'auto') && (!attr_width || attr_width == 'auto') ) {
$table.css('width', $table.width() );
}
$(cell).prepend('<span class="action"><a><img src="'+which+'" /></a></span>');
$(rows.item(0)).click( function() {
var which = $table.toggleClass('selected').hasClass('selected')
? collapse_action_show : collapse_action_hide;
$(cell).find('span.action img').attr('src', which);
if ( which == collapse_action_show ) {
$(rows).next().stop(true, true).fadeOut();
} else {
$(rows).next().stop(true, true).fadeIn();
}
}).click();
});
}
$(document).ready( collapsible_boxes );
//</source>