我试图在jquery中创建一个if语句但是我无法让它工作我已经创建了一个js fiddle
也是代码
HTML:
<div class="playlist-player shrink"></div>
使用Javascript:
if($('.playlist-player').hasClass('shrink')) {
$(".playlist-player").mousedown(function(){
$(".playlist-player").addClass("enlarge").removeClass("shrink");
});
} else {
$(".playlist-player").mousedown(function(){
$(".playlist-player").addClass("shrink").removeClass("enlarge");
});
}
CSS:
.shrink {background-color:red;}
.enlarge {background-color:blue;}
.playlist-player {height:20px; width:20px;}
答案 0 :(得分:3)
您不需要if
else
addClass
removeClass
您可以toggleClass()
-
$(".playlist-player").mousedown(function () {
$(this).toggleClass("enlarge").toggleClass("shrink");
});
答案 1 :(得分:1)
试试这个
$(".playlist-player").mousedown(function(){
if ($('.playlist-player').hasClass('shrink')) {
$(".playlist-player").addClass("enlarge").removeClass("shrink");}
else {
$(".playlist-player").addClass("shrink").removeClass("enlarge");}
}
答案 2 :(得分:1)
$(".playlist-player").mousedown(function(){
if($(this).hasClass("shrink")){
$(this).addClass("enlarge").removeClass("shrink");
}else{
$(this).addClass("shrink").removeClass("enlarge");
}
});
答案 3 :(得分:1)
我可以鼓励您大大简化代码:
<div class="playlist-player shrink"></div>
<style type="text/css">
.playlist-player {height:20px; width:20px;background-color:red;}
.enlarge {background-color:blue;}
</style>
<script type="text/javascript">
$(function() {
$('.playlist-player').click(function(){
$(this).toggleClass('enlarge');
});
});
</script>
$(document).ready
(或我的代码中的$(
)中以确保在您尝试附加处理程序时已加载div
click
处理程序(如果没有,您可以在我的示例中替换click
mousedown
答案 4 :(得分:0)
你只检查它是否有一次课程,你想在每次点击后检查:
$('.playlist-player').mousedown(function() {
if ($(this).hasClass('shrink')
$(".playlist-player").addClass("enlarge").removeClass("shrink");
else
$(".playlist-player").addClass("shrink").removeClass("enlarge");
}
答案 5 :(得分:0)
试试这个:
$(".playlist-player").mousedown(function () {
$(this).toggleClass("enlarge shrink");
// You can also check the console for class
console.log($(this).attr('class'));
});