MediaWiki:Mobile.js: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
(Created page with "→Any JavaScript here will be loaded for users using the mobile site: // begin sd widget js function sdShowDetailed(container) { $(container).addClass('sd-s...") |
No edit summary |
||
Line 1:
/* Any JavaScript here will be loaded for users using the mobile site */
}
$(container).find('.sd-btn-detailed').first().removeClass('active');
$(container).find('.sd-btn-short').first().addClass('active');
}
}
▲ function sdShowShort(container) {
} else { // box.hasClass('sd-short')
▲ $(container).find('.sd-btn-detailed').first().removeClass('active');
}
}
▲ var parents = $(element).parentsUntil('.sd-container');
function sdJump(element) {
▲ var box = $(parents[parents.length - 1]); // should be a .sd-short or a .sd-detailed
var jqElement = $(element);
▲ var container = box.parent(); // should be a .sd-container
▲ // parent of box is no .sd-container
▲ return;
}▼
▲ if (box.hasClass('sd-detailed')) {
sdShowDetailed(container);▼
▲ } else { // box.hasClass('sd-short')
sdShowShort(container);▼
sdExpandParents(container);▼
}
▲ function sdJump(element) {
if (jqElement.length === 0) {▼
}
$(document).ready(function () {
});▼
return;
}
▲ $(window).scrollTop(offset.top).scrollLeft(offset.left);
▲ }
$(
▲ var sdContainers = $('.sd-container');
▲ // if fragment identifier is given, open the matching tab
▲ sdJump($(hash));
▲ // add functionality to buttons
▲ sdContainers.find('.sd-btn-short').on('click', function () {
▲ });
▲ sdContainers.find('.sd-btn-detailed').on('click', function () {
▲ // watch window for change to expand tabs for fragments later
▲ $(window).on('hashchange', (function () {
▲ if (hash === window.location.hash) {
▲ return;
▲ hash = window.location.hash;
▲ }));
▲ // make fragment links work
▲ }).on('click', function () {
▲ sdJump($(this).attr('href'));
});
});
|
Revision as of 22:42, 10 July 2016
/* Any JavaScript here will be loaded for users using the mobile site */ // begin sd widget js function sdShowDetailed(container) { $(container).addClass('sd-short-hidden').removeClass('sd-detailed-hidden'); $(container).find('.sd-btn-short').first().removeClass('active'); $(container).find('.sd-btn-detailed').first().addClass('active'); } function sdShowShort(container) { $(container).addClass('sd-detailed-hidden').removeClass('sd-short-hidden'); $(container).find('.sd-btn-detailed').first().removeClass('active'); $(container).find('.sd-btn-short').first().addClass('active'); } function sdExpandParents(element) { var parents = $(element).parentsUntil('.sd-container'); var box = $(parents[parents.length - 1]); // should be a .sd-short or a .sd-detailed var container = box.parent(); // should be a .sd-container if (!container.hasClass('sd-container')) { // parent of box is no .sd-container return; } if (box.hasClass('sd-detailed')) { sdShowDetailed(container); } else { // box.hasClass('sd-short') sdShowShort(container); } sdExpandParents(container); } function sdJump(element) { var jqElement = $(element); if (jqElement.length === 0) { return; } sdExpandParents(jqElement); var offset = jqElement.offset(); $(window).scrollTop(offset.top).scrollLeft(offset.left); } $(document).ready(function () { var hash = window.location.hash; var sdContainers = $('.sd-container'); // if fragment identifier is given, open the matching tab if (window.location.hash.length > 1) { sdJump($(hash)); } // add functionality to buttons sdContainers.find('.sd-btn-short').on('click', function () { sdShowShort($(this).closest('.sd-container')); }); sdContainers.find('.sd-btn-detailed').on('click', function () { sdShowDetailed($(this).closest('.sd-container')); }); // watch window for change to expand tabs for fragments later $(window).on('hashchange', (function () { if (hash === window.location.hash) { return; } hash = window.location.hash; sdJump($(hash)); })); // make fragment links work $('a[href]').filter(function (i, e) { return $(e).attr('href')[0] === '#'; }).on('click', function () { sdJump($(this).attr('href')); }); }); // end sd widget js