ฉันคิดว่าสิ่งนี้อาจเป็นไปไม่ได้จะพยายามอธิบายให้ดีที่สุดเท่าที่จะทำได้ ฉันมีหน้าที่มีแท็บ (ขับเคลื่อนด้วย jquery) ซึ่งควบคุมโดยสิ่งต่อไปนี้:
ฉันใช้รหัสนี้ตามที่ผู้ใช้รายอื่นให้ไว้จากคำถามก่อนหน้านี้
<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>
รหัสนี้ใช้งานได้ดีเมื่อฉันไปที่หน้า "แท็บ" โดยตรง
อย่างไรก็ตามฉันจำเป็นต้องเชื่อมโยงไปยังแท็บที่ไม่ถูกต้องจากหน้าอื่นดังนั้นในการทำเช่นนี้รหัสจะได้รับwindow.location.hash
จากนั้นจะแสดงแท็บที่เหมาะสม
หน้าเว็บไม่ "ข้าม" ไปที่จุดยึดเนื่องจาก "คืนค่าเท็จ"
อย่างไรก็ตามเหตุการณ์นี้จะถูกทริกเกอร์ในเหตุการณ์การคลิกเท่านั้น ดังนั้นหากฉันไปที่ "แท็บ" ของฉันจากหน้าอื่น ๆ เอฟเฟกต์ "กระโดด" จะถูกเรียกใช้ เพื่อต่อสู้กับสิ่งนี้ฉันเลื่อนไปที่ด้านบนของหน้าโดยอัตโนมัติ แต่ฉันคิดว่าสิ่งนี้จะไม่เกิดขึ้น
มีวิธีใดบ้างในการจำลอง "คืนค่าเท็จ" เมื่อโหลดหน้าเว็บเพื่อป้องกันไม่ให้จุดยึด "กระโดด" เกิดขึ้น
หวังว่านี่จะชัดเจนพอ
ขอบคุณ