Saya pikir ini mungkin tidak mungkin, akan mencoba dan menjelaskan sebaik mungkin. Saya memiliki halaman yang berisi tab (bertenaga jquery), dikontrol oleh yang berikut:
Saya menggunakan kode ini, seperti yang diberikan oleh pengguna lain dari pertanyaan sebelumnya.
<script type="text/javascript">
$(function() {
$('html, body').animate({scrollTop:0}); // this is my "fix"
var tabContent = $(".tab_content");
var tabs = $("#menu li");
var hash = window.location.hash;
tabContent.not(hash).hide();
if(hash=="") {
$('#tab1').fadeIn();
}
tabs.find('[href=' + hash + ']').parent().addClass('active');
tabs.click(function() {
$(this).addClass('active').siblings().removeClass('active');
tabContent.hide();
var activeTab = $(this).find("a").attr("href");
$(activeTab).fadeIn();
return false;
});
});
</script>
kode ini berfungsi dengan baik saat saya mengunjungi halaman "tab" secara langsung.
namun, saya perlu menautkan ke tab individual dari halaman lain - jadi untuk melakukan ini, kode mendapatkan window.location.hash
lalu menampilkan tab yang sesuai.
halaman tidak "melompat" ke jangkar karena "return false".
Namun, peristiwa ini hanya dipicu pada peristiwa klik. karenanya, jika saya mengunjungi "tab" saya dari halaman lain, efek "lompat" dipicu. Untuk mengatasi ini, saya secara otomatis menggulir ke bagian atas halaman, tetapi saya lebih suka ini tidak terjadi.
apakah ada cara untuk mensimulasikan "return false" saat halaman dimuat, mencegah jangkar "melompat" terjadi.
harap ini cukup jelas.
Terima kasih