Tanda: Suntingan perangkat seluler Suntingan peramban seluler |
Tanda: Pengosongan Pengembalian manual Suntingan perangkat seluler Suntingan peramban seluler |
| (11 revisi perantara oleh pengguna yang sama tidak ditampilkan) |
| Baris 1: |
Baris 1: |
| mw.hook('wikipage.content').add(function ($content) {
| |
| // KHUSUS HALAMAN UTAMA
| |
| if (!mw.config.get('wgIsMainPage')) {
| |
| return;
| |
| }
| |
|
| |
|
| // Cari link bawaan template yang punya kata "Selengkapnya"
| |
| $content.find('a').filter(function () {
| |
| return $(this).text().indexOf('Selengkapnya') !== -1;
| |
| }).first().each(function () {
| |
| var $originalLink = $(this);
| |
| var originalUrl = $originalLink.attr('href'); // Ambil link artikel aslinya
| |
| var $container = $originalLink.closest('p, div');
| |
|
| |
| if ($container.length && !$container.hasClass('mp-expand-processed')) {
| |
| // Terapkan class lipatan pada container teks
| |
| $container.addClass('mainpage-featured-box is-collapsed mp-expand-processed');
| |
|
| |
| // Buat tombol pengganti yang SELALU KELIHATAN di luar lipatan
| |
| var $customBtn = $('<a>', {
| |
| 'class': 'custom-readmore-btn',
| |
| 'html': '(Selengkapnya.....)',
| |
| 'href': 'javascript:void(0);' // Mencegah reload sebelum diklik
| |
| });
| |
|
| |
| // Sisipkan tombol buatan tepat di bawah container teks
| |
| $container.after($customBtn);
| |
|
| |
| var isExpanded = false;
| |
|
| |
| // Handle Klik
| |
| $customBtn.on('click', function (e) {
| |
| if (!isExpanded) {
| |
| e.preventDefault();
| |
| // KLIK 1: Buka lipatan animasi & hilangkan efek samar
| |
| $container.removeClass('is-collapsed').addClass('is-expanded');
| |
| isExpanded = true;
| |
|
| |
| // Ubah link tombol menjadi URL artikel asli untuk klik kedua
| |
| $customBtn.attr('href', originalUrl);
| |
| }
| |
| // KLIK 2: Karena href sudah diisi originalUrl, browser otomatis pindah halaman!
| |
| });
| |
| }
| |
| });
| |
| });
| |