【发布时间】:2019-05-30 10:04:56
【问题描述】:
我的标签工作正常,但我需要有一个单独的函数,它通过一个 URL 指向标签,所以我可以为每个标签有一个单独的链接。
我怎样才能做到这一点?
url.com/#tab1
url.com/#tab2
我尝试了很多方法,但总是收到未定义的标签。我想请教一下,我整理了一个演示,展示了完整的工作经验。
var boxLink = $( '.but' );
var box = $( '.tab' );
boxLink.click( function() {
$('#but1').removeClass('active');
var boxID = $(this).attr("data-target");
var currentbox = $('.tab:not(.is-hidden)');
var targetBox = $('.tab#' + boxID);
if (!$(this).hasClass('active')) {
boxLink.removeClass('active');
$(this).addClass('active');
TweenMax.to( currentbox, 0.2, {ease:Power4.easeOut, className: '-=visible', autoAlpha: 0, onComplete: boxIn, onCompleteParams: [targetBox] });
}
return false;
});
var boxIn = function( targetBox ) {
box.addClass( 'is-hidden' );
targetBox.removeClass( 'is-hidden' );
TweenMax.to( targetBox, 0.2, {autoAlpha: 1,className: '+=visible', ease:Power4.easeIn});
}
body {
background-color:black;
}
#tab01 {
background: white;
}
#tab02 {
background: red;
}
.tab {
width:100px;
height:100px;
font-size:30px;
line-height:100px;
text-align:center;
}
.is-hidden {
display: none;
opacity:0;
visibility:hidden;
}
button {
cursor:pointer;
padding: 5px;
margin-top: 10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/2.1.3/TweenMax.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="tab" id="tab01">one</div>
<div class="tab is-hidden" id="tab02">two</div>
<button class="but active" id="but1" data-target="tab01">slide 1</button>
<button class="but" id="but2" data-target="tab02">slide 2</button>
【问题讨论】:
-
您只想在 URL 中添加#divId 吗?还是别的什么?
-
我需要使用 url 直接导航到特定选项卡。喜欢:google.com/#tab2,因此 tab2 将处于活动状态。也许是另一个更语义化的名称。喜欢页面名称的标题
-
@Bharat Bhushan 你能帮忙吗?
-
对不起,伙计,我昨天下班了。如果您没有找到解决方案,请告诉我
标签: javascript jquery gsap