MediaWiki:Common.js: Perbedaan antara revisi
Tidak ada ringkasan suntingan Tanda: Suntingan perangkat seluler Suntingan peramban seluler |
Tidak ada ringkasan suntingan Tanda: Suntingan perangkat seluler Suntingan peramban seluler |
||
| Baris 121: | Baris 121: | ||
/* | /* 1. Auto-Hide Header (Minerva Mobile Optimized) */ | ||
$(document).ready(function() { | $(document).ready(function() { | ||
var lastScrollTop = 0; | |||
var | var delta = 5; | ||
var navbarHeight = $('.header-container').outerHeight() || 50; | |||
if ( | $(window).scroll(function() { | ||
var st = $(this).scrollTop(); | |||
// | |||
if ($(window). | // Cek scroll harus lebih dari delta | ||
if(Math.abs(lastScrollTop - st) <= delta) return; | |||
// Scroll ke bawah & sudah lewat navbar | |||
if (st > lastScrollTop && st > navbarHeight){ | |||
// Sembunyiin Header | |||
$('.header-container, .minerva-header').css({ | |||
'transform': 'translateY(-100%)', | |||
'transition': 'transform 0.3s ease-in-out' | |||
}); | |||
} else { | |||
// Scroll ke atas | |||
if(st + $(window).height() < $(document).height()) { | |||
$('.header-container, .minerva-header').css({ | |||
'transform': 'translateY(0)', | |||
'transition': 'transform 0.3s ease-in-out' | |||
}); | |||
} | } | ||
}); | } | ||
lastScrollTop = st; | |||
}); | |||
}); | |||
/* 2. Tombol Salin Cepat (Copy to Clipboard) */ | |||
$(document).ready(function() { | |||
if (mw.config.get('wgIsArticle')) { | |||
// Targetkan elemen pre, code, atau blockquote | |||
$('pre, code, blockquote').each(function() { | |||
var $this = $(this); | |||
$this.css('position', 'relative'); | |||
var $copyBtn = $('<div style="position:absolute; top:5px; right:5px; background:#36c; color:#fff; padding:2px 8px; border-radius:4px; font-size:10px; cursor:pointer; opacity:0.6;">SALIN</div>'); | |||
$copyBtn.click(function() { | |||
var text = $this.text(); | |||
$ | navigator.clipboard.writeText(text).then(function() { | ||
$copyBtn.text('BERHASIL!').css('background', '#00af89'); | |||
setTimeout(function() { | |||
$copyBtn.text('SALIN').css('background', '#36c'); | |||
}, 2000); | |||
}); | |||
}); | }); | ||
} | |||
$this.append($copyBtn); | |||
}); | |||
} | } | ||
}); | }); | ||