jQuery切换函数-它是如何工作的
jQuery toggle function - how does it work?
我刚刚创建了一个页面来理解jQuery切换函数。通过单击块"P",我希望块"A"设置动画,再次单击它将撤消动画。(例如,假设块"A"动画左侧100px;然后当我再次点击块"P"时,它将重置为0px;(
我对jQuery一无所知,所以循序渐进的指导将不胜感激。
这是我的代码:
$(document).ready(function() {
$(".nav").on("click", function() {
$(".trigger-default").animate({
left: "140px"
})
})
})
span {
font-size: 80px;
padding-left: 50px;
}
.nav {
width: 100px;
height: 100px;
display: block;
background: #7A848F;
margin: 50px 160px;
color: #fff;
cursor: pointer;
}
.trigger-default {
width: 100px;
height: 100px;
display: block;
background: #7A848F;
margin: 20px 100px;
cursor: pointer;
}
.trigger-secondary {
width: 100px;
height: 100px;
display: block;
background: #7A848F;
margin: 20px 300px;
cursor: pointer;
}
.trigger-default,
.trigger-secondary {
display: inline;
position: absolute;
color: #fff;
}
.nav:hover {
background: #5BBC2E;
}
.trigger-default:hover {
background: #202021;
}
.trigger-secondary:hover {
background: #E12B26;
}
<div class="nav">
<span>P</span>
</div>
<div class="trigger-default">
<span>A</span>
</div>
<div class="trigger-secondary">
<span>B</span>
</div>
如果leftVal = 0
和style="left: 0;"
具有left: 140px;
,则会将其分配给.trigger-default
元素,否则会分配leftVal = "140px"
和style="left: 140px;"
。
$(document).ready(function() {
$(".nav").on("click", function() {
var leftVal = ($(".trigger-default").css('left') === "140px" ? 0 : "140px");
$(".trigger-default").animate({
left: leftVal
})
})
})
span {
font-size: 80px;
padding-left: 50px;
}
.nav {
width: 100px;
height: 100px;
display: block;
background: #7A848F;
margin: 50px 160px;
color: #fff;
cursor: pointer;
}
.trigger-default {
width: 100px;
height: 100px;
display: block;
background: #7A848F;
margin: 20px 100px;
cursor: pointer;
}
.trigger-secondary {
width: 100px;
height: 100px;
display: block;
background: #7A848F;
margin: 20px 300px;
cursor: pointer;
}
.trigger-default,
.trigger-secondary {
display: inline;
position: absolute;
color: #fff;
}
.nav:hover {
background: #5BBC2E;
}
.trigger-default:hover {
background: #202021;
}
.trigger-secondary:hover {
background: #E12B26;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="nav">
<span>P</span>
</div>
<div class="trigger-default">
<span>A</span>
</div>
<div class="trigger-secondary">
<span>B</span>
</div>
你可以玩这样的东西:
JSFiddle
$(document).ready(function() {
$(".nav").on("click", function() {
$(".trigger-default").toggle(function () {
$(this).animate({right: "140px"});
}, function () {
$(this).animate({left: "140px"});
});
})
})
您应该调整CSS/animation
$(document).ready(function() {
$(".nav").toggle(function(){
$('.trigger-default').animate({
left: 140
})
}, function(){
$('.trigger-default').animate({
left: 0
})
});
});
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- ajaxToolkit PopupControlExtender不工作.过时的
- HTML标记在脚本标记中工作
- 在JavaScript中的类中,push和concat的工作方式有何不同