我有3个组件,我希望切换显示。
我希望拥有的切换机制是:
现在javascript代码看起来很好,但根本不起作用。感谢任何帮助,谢谢!
(function($) {
"use strict"; // Start of use strict
$("#catbox1").mouseenter( function () {
$("#wrap1").removeClass('hidden');
$("#wrap2").addClass('hidden');
$("#wrap3").addClass('hidden');
});
$("#catbox2").mouseenter( function () {
$("#wrap1").addClass('hidden');
$("#wrap2").removeClass('hidden');
$("#wrap3").addClass('hidden');
});
$("#catbox3").mouseenter( function () {
$("#wrap1").addClass('hidden');
$("#wrap2").addClass('hidden');
$("#wrap3").removeClass('hidden');
});
}(jQuery)); // End of use strict
小提琴更新: 删除了不必要的元素并制作了更多符号。
基本上似乎mouseenter函数不起作用,我不觉得类被添加或从包装中删除,因为它们的显示始终为ON。
答案 0 :(得分:1)
.show()
显示匹配的元素。
.hide()
隐藏匹配的元素。
试试这个:
(function($) {
"use strict"; // Start of use strict
$("#catbox1").mouseenter(function() {
$("#wrap1").show();
$("#wrap2").hide();
$("#wrap3").hide();
});
$("#catbox2").mouseenter(function() {
$("#wrap1").hide();
$("#wrap2").show();
$("#wrap3").hide();
});
$("#catbox3").mouseenter(function() {
$("#wrap1").hide();
$("#wrap2").hide();
$("#wrap3").show();
});
}(jQuery)); // End of use strict
答案 1 :(得分:1)
请参阅我已经过滤了您的代码,并根据相应的点击元素显示了显示/隐藏的方法。
您只需要添加/删除该类。
(function($) {
"use strict"; // Start of use strict
$("#catbox1").mouseenter(function() {
$("#wrap1").removeClass('hidden');
$("#wrap2").addClass('hidden');
$("#wrap3").addClass('hidden');
});
$("#catbox2").mouseenter(function() {
$("#wrap1").addClass('hidden');
$("#wrap2").removeClass('hidden');
$("#wrap3").addClass('hidden');
});
$("#catbox3").mouseenter(function() {
$("#wrap1").addClass('hidden');
$("#wrap2").addClass('hidden');
$("#wrap3").removeClass('hidden');
});
}(jQuery)); // End of use strict
.hidden
{
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<div class="wrap">
<div class="catbox" id="catbox1">
<div class="catboxInner">
<div class="catboxInnerText">Winding garden path</div>
</div>
</div>
<div class="catbox" id="catbox2">
<div class="catboxInner">
<div class="catboxInnerText">Winding garden path</div>
</div>
</div>
<div class="catbox" id="catbox3">
<div class="catboxInner">
<div class="catboxInnerText">Winding garden path</div>
</div>
</div>
</div>
<div class="wrap" id="wrap1">
wrap1
</div>
<!--end of wrap-->
<div class="wrap hidden" id="wrap2">
wrap2
</div>
<!--end of wrap-->
<div class="wrap hidden" id="wrap3">
wrap3
</div>
</body>